打开dvwa的命令注入(Command Injection)
命令注入的三个条件:
1.是否调用系统命令
2.函数或函数的参数是否可控
3.是否拼接注入命令(&&)
dvwa的命令注入是一个人输入ip地址的提交框
接下来将对四个级别进行操作
low
首先随便输入一个ip,点击提交,出现了乱码。
解决乱码的办法,打开dvwa的所在位置找到 dvwaincludesdvwaPage.inc.php,把文件中所有的”charset=utf-8”,修改”charset=gb2312”,即可。
从结果来看用到ping命令,满足条件一
手动输入ip,可以控制参数,满足条件二
手动输入127.0.0.1 && net user,成功满足条件三
存在命令注入,同时成功。
medium
重复low的步骤失败,但是条件一二仍然成立,猜测增加了过滤,更改拼接符号&&
使用127.0.0.1 & net user,成功,猜测只过滤 &&
high
和medium一样,猜测增加了过滤,分别尝试&&、&、|、||、发现 || 未被过滤
测试成功
impossible
技术不到,难以成功。
注:a && b :a执行成功才会执行b
a & b :简单拼接把无制约关系
a | b :管道符,前一个命令的标准输出作为后一个命令的标准输入。
a || b:a执行失败才会执行b