无法使用 UNION 查询获取表名

Unable to fetch table names using UNION query

提问人:Subhash S 提问时间:3/30/2023 最后编辑:BarmarSubhash S 更新时间:3/30/2023 访问量:106

问:

我正在尝试进行sql注入以在ctf上获取标志。我已经发现了查询给出的位置和列数。因此,基于此,我尝试从 information_schema.tables 中获取表的名称,但我收到 500 内部错误,这意味着我编写的查询不正确。

我首先尝试了这个以获得列数

http://example.come/search.php?search=ball'UNION SELECT 1,1,1,1'

这给出了适当的回应。

接下来我试过了

http://example.come/search.php?search=ball'UNION SELECT table_name,1,1,1 FROM INFORMATION_SCHEMA.TABLES' 

此查询出现 500 内部服务器错误。

MySQL 联合 SQL注入

评论

1赞 Barmar 3/30/2023
不知道如何工作,就不可能回答这个问题。search.php
0赞 Barmar 3/30/2023
运行 SQL 查询的用户可能没有读取 的权限。INFORMATION_SCHEMA.TABLES
0赞 Bill Karwin 3/30/2023
@Barmar,“对于大多数INFORMATION_SCHEMA表,每个MySQL用户都有权访问它们,但只能看到表中与用户具有适当访问权限的对象相对应的行 dev.mysql.com/doc/refman/8.0/en/

答: 暂无答案