DVWA Command Injection 命令行注入分析与利用
作者:myluzh 分类: NOTES 长度:1424 阅读:1099
关于命令连接符介绍:
command1 && command2 先执行command1后执行command2
command1 | command2 只执行command2
command1 & command2 先执行command2后执行command1
以上三种连接符在windows和linux环境下都支持
LOW级别:
没有对任何进行过滤直接 192.168.1.1&&dir 成功执行
Medium级别:
再次提交192.168.1.1&&dir提示:"Ping 请求找不到主机 192.168.1.1dir。请检查该名称,然后重试。"也就是我们的"&&"符号被过滤掉了,那就试试单个符号&,192.168.1.1&dir,成功执行
下面是部分代码:查看代码可以发现,这里只把&&根;替换成空,但是没有过滤掉&
$substitutions = array(
'&&' => '',
';' => '',
);
High级别:
192.168.1.1|dir 执行成功
下面是部分代码:查看代码可以发现,这里过滤掉的就比较多了,但是"| "后面有个空格导致"|"并没有被过滤掉。
// Set blacklist
$substitutions = array(
'&' => '',
';' => '',
'| ' => '',
'-' => '',
'$' => '',
'(' => '',
')' => '',
'`' => '',
'||' => '',
);
Impossible级别:
过滤的很严格,对接受字符也进行了限制,不可能完成注入。