DVWA SQL盲注初探

0x01 适用条件

有回显信息但是没有具体的详细信息,但存在布尔类型

0x02 Low 难度注入过程

1. 判断回显

给id赋不同的值,发现id的最大只能赋值为5



无论怎样改变参数,回显信息始终只有两种。但是根据回显信息可以判断参数类型为字符型



2. 判断布尔类型

存在布尔类型



3. 尝试获取数据库长度

通过length(database())可以获取数据库名的长度(但是并不会显示在页面中)

通过尝试,得知了数据库名的长度为4



3. 尝试获取数据库名

substr(str,n,m)函数可以从字符串中str中的第n位起,取m个字符


ascii(str)可将字符转换成对应的ASCII码值

后续用同样的方法测出第三个字符和第四个字符的ASCII码值为119(w)和97(a)

因此数据库名为dvwa

PS:手工注入获取工作量太大,在Medium中会利用BP进行爆破

0x03 Medium 难度注入过程

1. 判断参数的提交方式

通过页面中的信息可以发现数据是以表单的的形式提交,参数并不会显示在地址栏中


审查提交数据的部分的元素,发现在表单中有两个参数分别是id和Submit


2. 判断回显和参数类型

打开hackbar插件,在Post data请求中添加参数,发现参数类型为数字型

无论怎样改变参数,回显信息始终只有两种



3. 利用BurpSuite进行爆破

3.1 获取数据库的长度

抓取网页提交数据时的请求包


将数据包发送到intruder,在Position中构造参数id,并且添加变量


在Payload中对变量进行设置


开始攻击后会显示爆破过程和结果


再点击Response—Render查看,结果无误,数据库长度为4


3.2 获取数据库名

将请求数据包发送到intruder,在Position中构造参数id,并且添加变量


在Payload中对参数1进行设置


在Payload中对参数2进行设置


查看攻击结果,先点击Payload1,再点击Length进行排序


原文地址:https://www.cnblogs.com/cradle-q0518/p/13442818.html