sql注入---盲注

一、盲注的基本条件

  1、用户能够控制输入

  2、原程序要执行的代码拼接了用户输入的数据。

二、盲注的类型

  1、基于布尔型:返回true或false

  sql注入---盲注_第1张图片

 

  

 

  如下图:用户名猜对了,立马回显。猜错了,报错。

  sql注入---盲注_第2张图片

 

猜错的情况:

sql注入---盲注_第3张图片

  如果实在不记得了,可使用like通配符。

sql注入---盲注_第4张图片

 

   2、基于时间盲注:sleep()延时盲注

  sql注入---盲注_第5张图片

sql注入---盲注_第6张图片

 

  length()函数:返回字符串的长度

  sql注入---盲注_第7张图片

  substr(str,pos,num) :截取指定位置指定长度的字符串

  sql注入---盲注_第8张图片

  mid(str,pos,num)  :截取指定位置指定长度的字符串

  

  ascii()   查询ascii码中对应的值

   sql注入---盲注_第9张图片

  if 判断语句。

    1、猜数据库长度(第一个语句成立的话,执行第二个语句,否则执行第三个语句)

    sql注入---盲注_第10张图片

 

     2、猜数据库名。

      a、猜数据库第一位,使用if判断,判断数据库名第一位对应的ascii值。借助burpsuit工具抓包。

      sql注入---盲注_第11张图片

      b、将抓的包发送到爆破模块。去掉变量

      sql注入---盲注_第12张图片

 

       c、在第一个值这里添加变量。

  

sql注入---盲注_第13张图片

 

   sql注入---盲注_第14张图片

 

 

    我们可以看到112对应的ascii中的字母为p

    sql注入---盲注_第15张图片

 

 

    2、破解整个数据库名称

    sql注入---盲注_第16张图片

 

 sql注入---盲注_第17张图片

sql注入---盲注_第18张图片

sql注入---盲注_第19张图片

 

对应ascii值可得知:数据库名称为 pentest

 

 

 

 

 

 

转载于:https://www.cnblogs.com/startingpoint-fly/p/11158011.html

你可能感兴趣的:(sql注入---盲注)