我正在练习安全测试。我遇到了DVWA,我开始练习Sql Injection。在我开始使用SQL注入(盲目)之前,我一直很好。无论我尝试哪个查询,我都没有得到理想的结果。 例如:
1' and 1=0 union select null,table_name from information_schema.tables#
只返回 数据库中存在用户ID。
我已将DVWA Security设置为Low。还要确保在设置检查部分的应用程序的设置页面上没有错误。
以下是环境细节:
操作系统:Windows
后端数据库:MySQL
PHP版本:5.6.16
答案 0 :(得分:-1)
我认为答案就在这里,行为是预期的
https://github.com/ethicalhack3r/DVWA/issues/12
有人抱怨相反的行为并且开发人员同意,并且贡献者名为g0tm1lk fixed。他真的做了这个练习,并且盲目地#34;我们必须使用盲注方法来测试漏洞。
向用户显示SQL错误消息只是:SQL注入漏洞+错误配置问题。
如果查询返回的结果列未显示给用户,则可能会发生盲SQL注入。但是,用户可以以某种方式告诉查询是否返回任何记录或没有记录。 例如:假设网址" http://www.example.com/user?id=USER_ID"返回:
如果USER_ID存在,则200
如果USER_ID不存在,则404
但它不会显示查询结果中的任何信息(例如用户名,地址,电话等)
如果页面容易受到SQLi [blind]的攻击,攻击者无法从结果页面中打印的数据库中获取信息,但他可能会通过询问是/否问题来推断它。 / p>