DVWA—SQL(Blind)实例

打印 上一主题 下一主题

主题 1010|帖子 1010|积分 3034

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注入大概性减到最低。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

刘俊凯

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表