DVWA 命令执行审计

LOW

使用POST方式接受表单,isset()判断是否传入,将传入的ip赋值给$target

使用php_name获取主机信息,用stristr()判断是否是win系统

通过if进行判断是否为空后,使用shell_exec()执行并将所有输出流作为字符串返回

此执行过程无任何过滤。

 

Medium

 

ip的值赋给变量target后,定义了一个数组substitutions,该数组的功能是将&&;替换为空

使用字符串替换函数str_replace()将过滤的ip再赋值给$target使用通道符号绕过

 

High

 

丰富了过滤内容,发现|后有个空格,直接用|绕过

 

impose

 

使用checkToken()验证index.php页面的token,防止csrf。
stripslashes()函数删除由addslashes()添加的反斜杠。
explode()函数,将target字符串以'.'为分隔符打散为数组,因为正确的ip地址是以'.'为分隔符。
下面通过if判断,数组前4个是否是数字,是,再将前4个以'.'进行拼接;否,则输出用户输入有误。
generateSessionToken();用来生成token。

原文地址:https://www.cnblogs.com/Lee-404/p/13055024.html