繁体   English   中英

SQL 用于枚举数据库中可用表的注入查询

[英]SQL injection query for enumerating available tables in databases

我们有一个练习,正在努力想出一个 sql 注入,从 mySQL 的数据库中找到更多的数据。

这是我们得到的结果: mySQL 网页结果

在上图中,您可以看到我们已经设法让数据库泄露用户标识、用户和密码值。

为此,我们在登录框中输入: admin' --

Then: ' union select table_name from information_schema.tables --在密码框中

然而,这并不是演习的全部目标。 我们必须发现可用的数据库和表。 我们不确定为什么响应没有考虑我们union select table_name from information_schema.tables

以下是在登录或密码框中未输入任何内容时的响应示例:默认 mySQL 网页

我们的任务:

  1. 枚举数据库中的可用表
  2. 找到 userid 为 3 的用户名(完成 - 对吧?)
  3. 查找包含 md5 哈希的表

有人能指出我们正确的方向吗?

为什么 information_schema.tables 中的select table_name from information_schema.tables工作?

更新:在将第一个登录框中的初始查询重组为:

admin’ union select table_name,2,3 from information_schema.tables -- -

修复:第一个 select 查询和联合 select 查询之间的列数必须匹配。

您可能必须将整个注入放在用户名框中。 目前--在登录输入中的“ admin'之后,正在评论查询的 rest。

即登录框应该包含admin' UNION SELECT table_name FROM information_schema.tables --

您可能需要 select 填充来自information_schema.tables的列,因为无法判断users表有多少列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM