首页 > 技术文章 > DVWA命令注入漏洞分析

hai-long 2019-01-13 19:40 原文

本周学习内容:

1.学习web应用安全权威指南;

2.观看安全学习视频;

 

实验内容:

进行DVWA命令注入漏洞

实验步骤:

Low

1.打开DVWA,进入DVWA Security模块将 Level修改为Low,点击Submit提交;

 

2.进入命令注入Command Iniection模块

3.在输入框输入127.0.0.1,点击Submit提交,此时发现页面出现乱码

4.解决的办法为:在DVWA配置文件的DVWA\dvwa\includes路径下找到dvwaPage.inc.php文件,并将所有的”charset=utf-8”,修改”charset=gb2312”,保存退出

5.回到DVWA窗口,按F5刷新页面发现页面乱码现实正常了

6.查看页面源代码,发现页面并没有对输入条件进行任何校验

7. 输入127.0.0.1&&net user可以查询到系统中存在的所有用户

 

Medium

1.进入DVWA Security模块将 Level修改为Medium,点击Submit提交;

2.点击进入Command Injection页面,查看页面代码

3.发现中级代码中添加黑名单对“&&”和“;”进行了过滤使他们变成了空字符,可以再次输入“127.0.0.1&&net user”,由于“&&”变成了空字符所以系统报错

4.此时可以使用127.0.0.1&net user进行攻击,如图

5.原因是因为

6.还可以使用“127.0.0.1&;&ipconfig”进行注入,如图现实可以成功注入

7.这是因为“;”被替换成了空字符之后注入的信息“127.0.0.1&;&ipconfig”,有变成了“127.0.0.1&&ipconfig”

High

 1.打开DVWA,进入DVWA Security模块将 Level修改为High,点击Submit提交;

2.点击进入Command Injection页面,查看页面代码发现使用的依然是黑名单的方法

 

3.通过查看黑名单发现“|”项后面多了一个空格,所以就可以直接使用管道符“|”进行注入,如图所示

4.“|”是管道符,作用是将前者处理后的结果作为参数传给后者。

 

推荐阅读