学习笔记-SQL盲注

盲注

  在SQL注入过程中,SQL语句执行后,选择的数据不能回显到前端页面,此时需要利用一些方法进行判断或者尝试,这个过程称之为盲注。

  在盲注中,攻击者根据其返回页面的不同来判断信息(可能是页面不同,也可能是响应时间不同))

  一般盲注分为两种:基于布尔的盲注(Boolean based)基于时间的盲注(Time based)

基于布尔的盲注

页面的返回结果只有两种:对或错,通过构造SQL判断语句,查看页面的返回结果来判断哪些SQL判断条件成立,通过此来获取数据库中的信息

基于时间的盲注

使用具有延时功能的函数sleep,benchmark等,通过判断这些函数是否正常执行来获取数据库中的数据

SQL盲注常用函数

if():条件判断,例如:if(1=1,1,2)  返回为1

left():截取具有指定长度的字符串的左部分;

length():返回字符串的长度,以字节为单位;

substr(),substring():从指定的位置开始,截取字符串指定长度的子串;substr('abcs',3,1)  返回c

ascii(),ord():返回字符串最左边字符的ASCII码值;

cast(),convert():获取一个类型的值,并产生另一个类型的值;select cast(123.45,as signed)  返回123

      二进制:binary    字符型:char()   日期:date()        时间:time()  

      日期时间型:datetime   浮点数:decimal  整数:signed  无符号整数:unsigned

延时函数:select sleep(N) ; benchmark():让某语句执行一定的次数,执行成功后返回0;

posted @ 2022-10-07 11:21  彩凤898  阅读(61)  评论(0编辑  收藏  举报