环境:win10
靶场:sqli-labs-master
本实验仅供学习参考!!!
1 布尔盲注
盲注就是在
SQL
注入过程中,
SQL
语句执行后,查询到的数据不能 回显到前端页面。此时,我们需要利用一些方法进行判断或者尝 试,这个过程称之为盲注。而布尔盲注就是SQL
语句执行后,页面 不返回具体数据,数据库只返回0
或者
1
(真
or
假)。 类似于无法开口说话的人,只能通过点头和摇头来告诉你答案的正 确与否。
1.1 布尔盲注的特性
在页面中,如果正确执行了用户构造的
SQL
语句,则返回一种页 面,如果 SQL
语句执行错误,则执行另一种页面。基于两种页面, 来判断 SQL
语句正确与否,达到获取数据的目的。
正常的页面:


查询不到的页面:
1.2 布尔盲注的基本流程
1
、判断是否存在注入:sql注入必须的过程
2
、获取数据库长度:因为盲注无法回显数据,所以我们需要猜数据库名的长度,为下一步猜测数据库名做准备。
3
、逐字猜解数据库名
4
、猜解表名数量
5
、猜解某个表名长度
6
、逐字猜解表名
7
、猜解列名数量
8
、猜解某个列名长度
9
、逐字猜解列名
10、判断数据数量
11
、猜解某条数据长度
12
、逐位猜解数据
2. 攻击过程
2.1 判断是否存在注入
第一步:正常查询,返回
True
(语句执行成功)或者返回
False
(语 句执行成功没有查询到内容)
第二步:输入引号进行看页面变化,页面返回
False
,可能存在漏 洞,也可能没有查询到内容
第三步:利用
and
进行判断,比如:
1 and 1=1
和
1 and 1=2