当前位置: 首页> 汽车> 维修 > DVWA—SQL(Blind)实例

DVWA—SQL(Blind)实例

时间:2025/7/11 7:53:25来源:https://blog.csdn.net/qq_62056583/article/details/141092758 浏览次数: 0次

DVWA—SQL Injection(Blind)实例

预备知识

在SQL注入中会有回显注入和盲注入的形式,在前面的文章中展示了回显注入的情况,而盲注入就是当我输入查询语句的时候数据并不会直接显示在页面中而是以程序员规定的输出格式来进行显示,所以盲注的思路与回显注入类似。查阅相关内容,盲注首先需要看看是否有注入,注入类型是属于布尔类型还是时间类型。然后就是获取数据库库名、表名、列表名的一系列操作,当然由于我们并不知道每一个具体字符我们还需要对各个库名的长度、名称进行一一破解,思路之一是参照ASCII码表对每个字符进行判断,运用二分查找的方式但是时间消耗太高我们选择kali虚拟机中的sqlmap工具进行注入。
并且在上述的盲注实例中是基于回显注入的页面内容即它们各个等级的限制都是一样的。
在这里插入图片描述

当然我们可以简易的获取当前数据库的有关信息
1’ and length(database())>1 # 判断数据库库名的长度
1’ and ascii(substr(database(),1,1))>1 # 二分法猜测数据库名称字符
1’ and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))>1 # 获取表名长度
使用sqlmap工具我们可以使用sqlmap的在线获取功能,自己输入地址以及相关指令来完成操作;也可以先使用burpsuites工具对数据包进行存储然后再使用sqlmap工具进行操作。在这里我使用存储数据包的形式来对其进行SQL注入操作。

1. low等级

sqlmap -r /home/kali/Desktop/1.txt -dbs
在这里插入图片描述

sqlmap -r /home/kali/Desktop/1.txt -D dvwa -dump-all
在这里插入图片描述

2. medium等级

medium等级中是关于sleep函数的使用即是一个时间注入类的漏洞
我们依然使用
sqlmap -r /home/kali/Desktop/2.txt -dbs
指令来对其进行数据库库名的获取
在这里插入图片描述

获取之后就是low等级一样的指令获取数据,也是可以获取得到
在这里插入图片描述

3. high等级

但是在high等级中不能使用前面的指令来完成对于数据库库名的获取,去查找其他博主解释是由于页面跳转,防止了自动化sql注入,目前版本的sqlmap应该无法成功注入。
在这里插入图片描述

4. impossible等级

在impossible等级中,代码使用了预编译,不再拼接sql语句,而是替换并使用了PDO函数输出内容检测、检查了token、判断了数据类型是否仅为数字等安全性操作使其SQL注入可能性减到最低。
在这里插入图片描述

关键字:DVWA—SQL(Blind)实例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: