sqlmap 中基于布尔值和时间相关 SQL 注入的组合

Combination of Boolean-based and Time-dependent SQL injection in sqlmap

我遇到了一个基于布尔值的盲 SQL 注入漏洞,但我从服务器获得的响应是​​基于时间的。换句话说,如果条件是 "false" 网站 returns "error" 声明..如果条件是 "true" 页面不会加载。

例如

http://testingzone.com/id=123+OR+1=2

returns "Error Invalid ID"

http://testingzone.com/id=123+OR+1=1

returns 什么都没有,页面一直在加载(我测试了 60 秒没有响应,也没有收到浏览器的超时错误)

我可以手动执行攻击,但我想知道如何在 sqlmap 中执行此类攻击。

sqlmap 未能确定它是可注入的,但它显示了几个 "request timeout errors"。我如何告诉sqlmap请求超时意味着条件为真?

[更新]

我有点开始想像为什么需要这么长时间才能响应...当我添加 LIMIT 1 进行查询时,我得到了错误,尽管我使用的是 OR 1=1 但是当我将其设置为 LIMIT 1000000 我没有收到任何响应并且页面一直在加载(因为执行查询需要很长时间)

换句话说,它总是显示错误,但查询执行时间表示查询是否已成功执行。

我想出了如何让它自动化。我可以简单地通过添加条件使其成为基于时间的 sql 注入 或 1=睡眠(5) 限制 1 在这种情况下,它仍会打印错误,但网站将需要 5 秒来响应。 [更新]我设法使用以下命令

在sql地图中应用攻击向量

python sqlmap.py -u "http://testingzone.com/page.php?id=1*" --suffix "LIMIT 1 --" --dbms "mysql" --cookies "website cookies"

并且 sqlmap 设法确定它是基于时间的 sql 注入漏洞 url