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进行排序


posted on 2020-08-05 21:23  黎夜  阅读(210)  评论(0编辑  收藏  举报