DVWA-sql盲注

sql盲注低中高步骤截图及说明

低等级:

判断是否存在注入,注入是字符型还是数字型

DVWA-sql盲注

DVWA-sql盲注

猜解数据库

库名长度为4

DVWA-sql盲注

猜数据库名dvwa

substr() 函数返回字符串的一部分

substr(string,start,length)

DVWA-sql盲注

猜数据库中表名

可得表个数为2

DVWA-sql盲注

猜表的长度

第一个为9,第二个为5

DVWA-sql盲注

猜表名

 1' and   ascii(substr((select table_name  from information_schema.tables where table_schema='dvwa' limit 0,1),1))=103#    -->g

DVWA-sql盲注

依次猜测,可以使用二分法,得到guestbook,users

猜解表中的字段:

猜得有15个字段

DVWA-sql盲注

猜字段长度以及字段名称

如user长度为4

DVWA-sql盲注

DVWA-sql盲注

最后逐一猜解数据得到user和password

时间盲注:

有时间缓冲,可得是字符型注入

DVWA-sql盲注

输入 1' and if(length(database()) =4,sleep(5) ,1)#猜数据库名长度

DVWA-sql盲注

猜数据库名

1' and if(ascii(substr(database(),1,1))=100,sleep(5),1)#  -->dvwa

DVWA-sql盲注

猜表个数,表长度,表名

DVWA-sql盲注

DVWA-sql盲注

依次类推猜取

猜表中字段

DVWA-sql盲注

如user:

DVWA-sql盲注

依次猜解,获取user,password的数据

中等级:

DVWA-sql盲注

用burpsuite代理进行猜解

DVWA-sql盲注

发现是数字型注入

之后的操作与low级别一致

高等级:

DVWA-sql盲注

查看得是字符型注入且只允许输入一个字符,可以用#注释掉

接下来的操作和low一致