在我朋友的授权下,我正在测试其网站的潜在漏洞。
我试图确定是否能够将SQL查询注入POST请求参数hi' or 1=1 --
:
query=hi'%20or%201%3d1%20--
我发现文件已打印出来:
<div class="error">index job,query: syntax error, unexpected '-' near '-'</div>
使用' or 0=0 --
时,我得到:
<div class="error">index job,query: syntax error, unexpected '|' near ' | 0=0) --'</div>
这是否意味着它容易受到SQL注入的攻击?如果是,如何使它打印服务器系统数据(如信息等)?顺便说一句,如果字符串正确,它将被重定向到另一个网页(我认为这就是SQLMap告诉我该参数不可SQL注入的原因)。
EDIT:我可以看到查询只是在重定向URL的情况下仍然有效,但看不到查询输出。如果未重定向URL,则可以看到这些SQL查询错误。我正在尝试查看如何获取输出,并做一些更有用的攻击网站,甚至使其可从sqlmap
进行检测。
我正在使用的当前命令是sqlmap -r thework.txt -p query --dbs
。 thework.txt
包含完整的有效POST
请求。
SQL注入不仅涉及读取或更改您站点上数据的恶意攻击。
大多数SQL注入只是像您看到的那样的错误。他们甚至可能不是恶意的。如果您有一个SQL注入漏洞,当某人想要将其姓氏注册为“ O'Reilly”时,该错误仅会导致错误怎么办?用户的意图很不错,但是当您使用真实姓名时,您的网站就会中断。
这足以在您的代码中检测和修复SQL注入的情况。
您没有发布可通过此输入构建SQL查询的代码,因此,您所显示的只是间接证据。但是我确实推断出您正在使用查询参数将GET输入复制到SQL查询中,而没有适当的转义或首选方法。
希望我有50次代表,所以我可以在评论中提出。但是,是的,该网站最有可能受到攻击。可以肯定地请您的朋友允许您运行初始攻击。
sqlmap.py -u --dbs
如果您成功提取数据库,则说明您已发现该漏洞,或者至少已确认存在漏洞。