盲注

目录

1、注入攻击的本质

2、盲注的介绍

(一)布尔盲注

(二)时间盲注

3、盲注常用方法

(一)length()函数

(二)substr()截取字符串

(三)利用Burp跑出数据

(四)利用Sqlmap跑出数据

(五)sleep()函数

(六)if()函数

4、注释符号不让写怎么办?


1、注入攻击的本质

注入攻击的本质是把用户输入的数据当做代码执行

SQL注入的两个关键条件:

  • 用户能够控制输入;
  • 原本程序要执行的代码,拼接了用户输入的数据。

2、盲注的介绍

盲注属于SQL注入的一种,SQL注入可以通过不同的类别来分类,比如按照传参方式分类SQL注入:GET、POST、HEAD(COOKIE),根据做法的不同,我们也可以把这些分类为盲注、报错注入显错注入

盲注是什么?

(一)布尔盲注

布尔是一种类型,核心是在于判断正确与否。布尔就是指这个页面有回显,但是不会显示具体内容只会显示语句是否正常执行

举个例子,这是一条存在sql注入的语句; 盲注_第1张图片

在这里输入and 1=1;

会发现页面显示有数据;盲注_第2张图片

将and 1=1修改为and 1=1;

会发现页面没有显示有数据;盲注_第3张图片

这就是一个典型的布尔型盲注,因为它会根据回显来判断语句是否执行成功

在这里输入order by 1;

 页面显示有数据,代表order by 1 有数据;盲注_第4张图片

输入order by 2;

 页面也显示有数据,代表order by 2 有数据;盲注_第5张图片

再尝试一下order by 3;

会发现没数据,说明只有两个字段;盲注_第6张图片

输入union select 1,2;

出现错误;盲注_第7张图片

 这里要注意逗号是英文格式,中文格式会导致出错,下面这个才是正确的;

盲注_第8张图片

这时候会发现没有输出点;盲注_第9张图片

当联合查询毫无输出点的时候,就需要用到布尔注入。通过布尔盲注可以判断语句是否正常执行。

(二)时间盲注

有一些网站对于你的传参并不敏感,比如说这个页面你传递什么参数,它返回的都一样,无论你传参什么内容,代码是否正确,它返回的结果都是一样的,这是一种很标准的盲注;

时间盲注就比较特殊些,原题如下:盲注_第10张图片

输入and 1=1,但是要记得把双引号闭合掉

你可能感兴趣的:(安全)