DVWA —— Command Injection分析
首先打开Command Injection,发现是一个执行ping的界面,推测若没有做好过滤,则很有可能执行其他DOS命令
DOS在一行中执行多条命令需使用的符号:
&&:只有当前面的命令执行成功才执行后面的命令
&:无论怎样总执行后面的命令
||:只有当前面的命令执行失败才执行后面的命令
|:将前面命令执行的输出作为后面命令执行的输入
Low
Low级别的源码,未对用户输入ip做任何过滤
直接使用&&,查看系统用户
Medium
Medium等级源码如下,过滤掉了用户输入中的&&和; 但并未过滤&,|,||
使用&,查看系统用户
High
High级别的源码如下,过滤掉了可用的字符,但过滤管道符时过滤的是‘| ’(管道符后面有个空格,如果不是百度后还真不知道。。)
因此可以使用一个不会执行的命令和|来执行命令
Impossible
impossible级别的源码,通过验证用户输入的ip以小数点分割后的四部分是否都为数字,从而达到过滤非法输入目的