当前位置: 代码迷 >> 综合 >> DVWA—【命令执行】全级别
  详细解决方案

DVWA—【命令执行】全级别

热度:81   发布时间:2023-10-20 20:23:46.0

1.DVWA-【命令执行】-low级别

命令执行功能此处是一个ping命令的提交框,应该是输入任意IP,执行后会进行ping命令操作

DVWA—【命令执行】全级别

在执行ping命令时候,同时执行其他命令的操作。如输入 127.0.0.1 & whoami

可以发现在ping IP的时候,又进行了当前用户的查询。

DVWA—【命令执行】全级别

2.DVWA-【命令执行】-medium级别

首先调整级别是中级,然后,我使用low级别的poc,发现可以命令执行,查看下源代码

DVWA—【命令执行】全级别

查看源代码,发现中级别的将 && 和 ;替换为空,此时我们只要不使用这两个符号就可以了

DVWA—【命令执行】全级别

我们使用 |  或者&的方式输入,发现可以命令执行

DVWA—【命令执行】全级别

3.DVWA-【命令执行】-high级别

先看下high级别的源代码把,发现high级别黑名单过滤的更多的特殊符号

DVWA—【命令执行】全级别

这时候我们发现,特殊符号 “ | ” 的后面有个空格,那么我们在输入命令的时候不添加空格应该达到命令执行的效果,果然不加入空格即可命令执行

DVWA—【命令执行】全级别

4.DVWA-【命令执行】-impossible级别

查看源代码,发现首先token做了 csrf的防护,其次用字符转义,防护注入,最后又对IP进行分割,保证不存在命令执行

DVWA—【命令执行】全级别

5.防御手段

①禁用部分系统函数:
高危系统函数可直接禁用,从根本上避免程序中命令执行类漏洞的出现。
禁用方法:打开PHP安装目录,找到php.ini,查找到disable_functions,添加需禁用的函数名,如:phpinfo()、eval()、passthru()、exec()、system()、chroot()、chgrp()、chown()等
②严格过滤关键字符(管道命令)
③严格限制允许的参数类型
④使用escapeshellarg函数来处理命令函数
⑤使用safe_mode_exec_dir指定可执行文件的路径(php.ini)


防御手段参考  https://blog.csdn.net/weixin_45200712/article/details/109604468

后续在补充