SQL bool盲注和时间盲注详解
今天继续给大家介绍Linux运维相关知识,本文主要内容是SQL bool盲注和时间盲注。
免责声明:
本文所介绍的内容仅做学习交换使用,严禁利用文中技术进行非法行动,否则造成一切严重后果自负!
再次强调:严禁对未授权装备进行渗透测试!
[var]
1、休眠函数
sleep()是SQL语句中用于休眠的函数,时间盲注中经常使用,sleep(x)可让程序休眠x秒。
2、字符串截取函数
字符串截取函数是bool盲注和时间盲注中都需要使用的函数。经常使用的字符串截取函数有mid()、substr()、left()。
mid()函数格式为:
其中,开始的位置默许从1开始。
substr()函数的用法与mid类似,left函数则默许从字段的最左侧开始截取,其格式为:
表示从目标字段的左侧开始截取指定长度的字符。
3、字符串长度函数
字符串长度函数length()会利用在SQL bool盲注和时间盲注中,length()函数可以反馈目标字符串的长度。
4、ascii码转换函数
ascii码转换函数可以将一个字符转换成ascii码,在SQL基于时间的盲注和基于bool的盲注中,ascii码转换函数可以将一个字符转换成其ascii码值。经常使用的ascii码转换函数为ascii()、ord()。
5、条件判断函数
条件判断函数if是SQL时间盲注中的必用函数,可以利用if函数来根据条件来反馈区别的结果。
if函数格式以下所示:
当条件成立时,if函数返回值1,当条件不成立时,if函数返回值2.
[var]
1、SQL注入点探测
我们使用sqli_lab的靶场,对基于bool的盲注和基于时间的盲注进行讲授,在sqli_lab靶场中,基于bool的盲注是第8关,基于时间的盲注是第9关,页面以下所示:
对bool类型的盲注,我们可以通过履行以下payload来探测会不会存在注入点:
如果显示异常,那末就说明and后面的内容被成功履行,因此可能存在bool类型的SQL注入。
对时间类型的盲注,我们可以通过履行以下payload来探测会不会存在注入点:
如果网页反应时间出现了明显延迟,就说明存在基于时间的SQL注入。
2、猜解数据库名
bool类型的盲注猜解数据库长度payload以下所示:
时间类型的盲注猜解数据库长度payload以下所示:
bool类型的盲注猜解数据库名称payload以下所示:
时间类型的盲注猜解数据库名称payload以下所示:
上述四个payload,length函数用于反馈查询结果的长度,mid函数用于截取查询结果的指定字符,ascii函数用于将其转换为ascii码的情势,if函数中第一个参数为一个判断表达式,本质上是bool类型盲注的核心,后面的10和1分别为表达式成立或不成立条件下的返回值,该返回值为sleep函数的输入,以此就能够控制网页反应的时间。
3、猜解表名
bool类型的盲注表名个数猜解payload以下所示:
时间类型的盲注表名个数猜解payload以下所示:
bool类型的盲注表名猜解payload以下所示:
时间类型的盲注表名猜解payload以下所示:
在上述4个payload中,其原理与之前介绍的类似,但是是使用limit函数来不断的控制反馈的变量。
4、猜解字段名
bool类型的盲注字段名个数猜解payload以下所示:
时间类型的盲注字段名个数猜解payload以下所示:
bool类型的盲注字段名个数猜解payload以下所示:
时间类型的盲注字段名个数猜解payload以下所示:
其原理与之前类似。
5、猜解数据
bool类型的盲注数据长度猜解payload以下所示:
时间类型的盲注数据长度猜解payload以下所示:
bool类型的盲注数据猜解payload以下所示:
时间类型的盲注数据猜解payload以下所示:
到此这篇关于SQL bool盲注和时间盲注详解的文章就介绍到这了,更多相关SQL bool盲注和时间盲注内容请搜索之前的文章或继续浏览下面的相关文章希望大家以后多多支持!
文章来源:丸子建站
文章标题:SQL bool盲注和时间盲注详解
https://www.wanzijz.com/view/62410.html