什么是延时注入?
延时注入就是利用sql自带的if语句和sleep函数的配合使用,将查询的数据通过if语句进行猜测,利用sleep()函数使得if语句的结果可以通过页面反应的时间进行判断,从而得知我们想知道的数据。
函数解释
if(str1,str2,str3) 如果str1正确就执行str2,否则执行str3
sleep(m) 使程序暂停m秒
靶场实操
0x00 Rank1
首先进行对数据库长度的判断


可见数据库名是有12个字符,爆破出来

数据库名为 107 97 110 119 111 108 111 110 103 120 105 97 即 kanwolongxia


有三个表,然后分别查出表的名称

第一个表 108 111 102 108 97 103 即 loflag
另外两个表分别为news
和 user
查loflag
的列名

两个字段

第一个字段 73 100 即 ID

第二个字段 102 108 97 103 108 111 即 flaglo
查flaglo
的数据

有5条数据,分别爆出数据

第一个数据 122 75 97 81 45 81 81 81 zKaQ-QQQ

第二个数据 122 75 97 81 45 82 68 即 zKaQ-RD

第三个数据 122 75 97 81 45 77 111 114 101 110 即 zKaQ-Moren

第四个数据 122 75 97 81 45 116 105 109 101 45 104 106 即 zKaQ-time-hj

第五个数据 122 75 97 81 45 116 105 109 101 45 122 120 120 122 即 zKaQ-time-zxxz
OK 第一关结束
0x01 Rank 2
第二关闭合方式为('')
闭合,注入过程一致
https://inject2b.lab.aqlab.cn/Pass-14/index.php?id=1') and if(length(database())>1,sleep(5),1) -- qwe
总结
- 延时注入和布尔盲注的共同之处,都是无法通过回显内容直接获取查询数据的结果;
- 不同之处在于布尔盲注可以通过回显来判断注入语句的正确性,而延时盲注的回显只有一种结果,所以通过页面反应时间来判断语句的正确性。
Comments NOTHING