前言
本篇将讲解如何在无回显不打印错误信息的情况下绕过登录界面并获得数据库中我们想要的信息。
题目分析
题目页面如下:

还是老套路,先尝试提交一个单引号:

结果如下:

竟然没有报错信息,莫慌,还有双引号、括号等组合没试呢,都逐个尝试尝试。虽然想法很美好,但都无法触发错误,费时费力不说,目前就连是否存在可注入漏洞都不确定。无奈之下只得掏出SQLMap这一大利器。
在讲如何使用工具前其实还有一个取巧的方法:符号 + or 1=1 - -。如果只是单纯的输入符号尝试触发错误,在这种不能打印错误信息的情况下,根本无法判断出闭合符,就连是否有漏洞都不确定。但如果再加上永真公式以及注释符注释掉后面部分的话,只要登录成功就能确定存在漏洞以及判断出闭合符。
还是先尝试单引号:
’ or 1=1 - -

结果如下:

登陆成功,表明确实存在漏洞且闭合符为单引号。
但笔者着实不推荐在实战时使用这种方法,因为这种方法有极大的运气成分存在。如果站点本身就不存在注入漏洞,这种方法就是在做无用功。就像在现代盲注中没人会再使用手工进行布尔、时间盲注,最基本的都是使用工具进行扫描,高级一点还可以利用DNSlog辅助进行盲注。但为了知识学习的连贯性,该了解的还是要了解,实战时选用最优解就行了。
说回SQLMap扫描,先前我们使用SQLMap进行扫描时是直接扫描一个地址,但现在是一个表单,扫描地址无法发挥作用。这种情况下最常用的方法就是配合抓包工具进行扫描。
burpsuite抓包
笔者使用的抓包工具为Kali自带的burpsuite和火狐浏览器,简单说一下burpsuite的配置问题。先在浏览器中设置本地代理:

接着启动burpsuite,然后访问http://burp/下载证书:

最后导入证书:

之后就能进行抓包了。需要注意的一点是burpsuite关闭后记得取消勾选代理,不然浏览器是无法正常使用的。提交任意用户名和密码之后抓取请求包:

右击保存为txt文件,笔者保存为根目录下的demo.txt文件:

之后使用SQLMap进行扫描。
SQLMap扫描
笔者使用的SQLMap同样为Kali自带工具。用SQLMap扫描刚才保存的文件:
sqlmap -r /demo.txt -f
扫描结束后查看扫描日志文件:

可以发现确实存在漏洞。
如果想获得其它数据只需在扫描时加上其它参数即可,以获得所有数据库名为例:
sqlmap -r /demo.txt -f - -dbs
结果如下:

总结
对于无回显不打印错误信息这一类登录界面(post)注入漏洞,为省时省力,笔者推荐直接使用SQLMap进行扫描。而此时SQLMap的扫描与之前的扫描方式不同,在扫描表单post时最常用的方法是扫描抓包得到的文件。
以上就是本篇的全部内容,我们下篇见。
本文介绍了在无回显不打印错误信息的登录界面中,如何通过SQL注入进行漏洞检测。首先尝试手动触发错误,然后使用SQLMap结合burpsuite抓包工具进行自动化扫描。通过添加'or1=1--'来判断漏洞存在,并展示了SQLMap扫描文件以确定闭合符和获取数据库信息的过程。总结中强调在实战中使用SQLMap进行扫描的高效性。

4721

被折叠的 条评论
为什么被折叠?



