本周学习内容:
1.学习web应用安全权威指南;
2.观看安全学习视频;
实验内容:
进行DVWA命令注入漏洞
实验步骤:
Low
1.打开DVWA,进入DVWA Security模块将 Level修改为Low,点击Submit提交;
2.进入命令注入Command Iniection模块
3.在输入框输入127.0.0.1,点击Submit提交,此时发现页面出现乱码
4.解决的办法为:在DVWA配置文件的DVWAdvwaincludes路径下找到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.“|”是管道符,作用是将前者处理后的结果作为参数传给后者。