第九关 GET-Blind -Time based. - Single Quotes
1.从题目来看,应该是get型的单引号的时间盲注
盲注:盲注也是注入的一种,盲注一般分为布尔盲注和时间盲注。布尔盲注就是说页面的返回值只有两种, True 和 False。所以我们只能通过测试输入的注入语句为 Ture 或 False 来判断注入的效果,并通过这两种可能一步步得判断出数据库的信息。时间盲注是不管你在界面输入什么界面都不改变,只有通过时间睡眠来判断输入的对错
2.进入第九关,在url后输入?id=1
3.不管输入什么进行判断,页面都是显示you are in
4.试一下在后面加‘ and sleep(5) --+,浏览器真的睡眠了5秒才加载出来,由此我们可以判断出这是一个单引号时间盲注
5.介绍一下我们要用到的函数
length() : 返回字符串的长度
substr() : 截取字符串,第一个参数字符串,第二个参数起始位(从1开始),第三个参数偏移量
ascii() : 返回字符的ascii码
6.使用上面的函数判断一下当前数据库的长度
http://192.168.0.107/sqli-labs/sqli-labs-master/Less-9/?id=1‘ and if((select length(database()))>7,sleep(5),1)--+
页面睡眠了5秒,所以可以推断数据库的长度是大于7的。再慢慢增大尝试,最终得到当前数据库长度为8。
7.我们还可以通过burp代理抓包的方式进行判断,我们改一下上面的句子,把大于改成等于,把5秒改成2秒
http://192.168.0.107/sqli-labs/sqli-labs-master/Less-9/?id=1‘ and if((select length(database()))=7,sleep(2),1)--+
抓到包后,我们使用快捷键:Ctrl+I,此时测试器模块变成红色,我们点击进行爆破,先点击清除然后在7的前后添加符号
在测试器模块下的有效载荷类型选择数值,从1道100增量为1,然后点击开始攻击
开始攻击,成功爆出数据库长度为8
8.爆出当前数据库名
http://192.168.0.107/sqli-labs/sqli-labs-master/Less-9/?id=1‘ and if(ascii(substr((select database()),1,1))=0 ,sleep(2),1) --+
if表判断,ascii表示把查出来的转成ascii码,substr截取字符串第一个参数要截取的字符串,第二个参数起始位,第三个参数偏移量
爆出来了
通过同样的方法我们还可以爆出表,字段,数据,这里我就不一一说明了。
第十关 GET-Blind -Time based. - double Quotes
从题目来看,应该是get型的双引号的时间盲注,直接把第九关的单引号改成双引号就行,这里我就不说明了