一、实验目的
借助Web漏洞教学和演练的开源工具DVWA,学习并了解Web漏洞(以SQL注入为例)的原理及利用,验证SQL注入漏洞的实现过程及结果,并思考应对web漏洞风险的策略与手段。
二、实验软硬件要求
1、操作系统:windows 7/8/10等
2、开发环境:DVWA
三、实验内容(实验步骤、测试数据等)
1. 目标:案例4-2。
2. 实验说明:借助Web漏洞教学和演练的开源工具DVWA,验证SQL注入漏洞的实现过程及结果
3. 步骤:
(1) 下载并安装配置DVWA
(2) 运行DVWA,创建数据库。
(3) 登录DVWA
(4) 按教材操作流程完成SQ注入分析,验证不同安全级别情况下sql注入的风险,并就实现结果提出安全应对建议。
- 判断是否存在注入
- 猜解SQL查询语句中的字段数及字段顺序
- 获取当前数据名
- 获取数据库的表名
- 获取表中的字段名
- 获取user及password
- 尝试破解口令
(5)完成实验报告
4. 要求:提供实验步骤说明及相应截图,完成实验报告。
我是安装在kali里做的这个实验,关于kali里如何安装dvwa,大家可以依据关键去去搜索相关材料。
四、实验步骤
以下是级别 low:
- 判断是否存在注入
答 :存在注入
- 猜解SQL查询语句中的字段数及字段顺序
查询字段数:
由查询结果可知,SQL查询语句的字段数为2。
查询字段顺序:
- 获取当前数据库名
- 获取数据库的表名
- 获取表中的字段名
- 获取user及password
- 尝试破解口令
1.
2.
3.
4.
5.
以下是级别 Medium:
抓包:
将id 修改为 1‘ or 1=1 #,并查看结果:
Id修改为 1 or 1=1 #, 可以看到查询成功了
猜测SQL查询语句中的字段数:
输入id=1 order by 2 #,查询成功
输入id=1 order by 3#,查询失败。
以下是级别 high:
五、实验体会(遇到的问题及解决方法)
1.刚开始无法查询字段数以及注入类型。
解决方法: 将SQL security 改为 low级别。
2.进行中级安全抓包的时候需要进行浏览器环回地址配置以及Burpsuite的抓包配置,书上并未写明步骤,需要自己百度+探索。
3.high级别的查询提交页面与查询结果显示页面不是同一个,是为了防止一般的sqlmap注入。这样sqlmap注入时,无法再查询提交页面上获取查询结果。