加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP通过bypass disable functions执行系统命令的方法汇总

发布时间:2021-05-20 12:03:50 所属栏目:PHP教程 来源:网络整理
导读:一、为什么要bypass disable functions 为了安全起见,很多运维人员会禁用PHP的一些“危险”函数,例如eval、exec、system等,将其写在php.ini配置文件中,就是我们所说的disable functions了,特别是虚拟主机运营商,为了彻底隔离同服务器的客户,以及避免

我们在本地开nc监听4444端口,然后在浏览器中打开这个页面,如果执行成功,将会反弹一个shell到4444端口:

当访问POC的时候,成功反弹了一个shell到本地的4444端口,可以看到执行id命令后的回显。

五、其他方式

除上述方式外,在某些特定情况下,还有很多能够绕过php.ini的禁用函数达到执行系统命令目的的方法,但是由于这些方法受到的限制颇多,很少有满足条件的真实环境,所以鉴于篇幅原因,以下只粗略介绍几个其他绕过方式,并提供相关的详细介绍的文章链接,如果有兴趣详细了解,可以参考互联网上的相关资料。

ImageMagick

ImageMagick是一款使用量很广的图片处理程序,很多厂商包括Discuz、Drupal、Wordpress等常用CMS中也调用了ImageMagick扩展或ImageMagick库进行图片处理,包括图片的伸缩、切割、水印、格式转换等等。在ImageMagick6.9.3-9以前的所有版本中都存在一个漏洞,当用户传入一个包含『畸形内容』的图片的时候,就有可能触发命令注入,官方在6.9.3-9版本中对漏洞进行了不完全的修复。关于这个漏洞的具体利用和防御方式可以参考:

http://wooyun.jozxing.cc/static/drops/papers-15589.html 。

pcntl_exec

pcntl是linux下的一个扩展,可以支持php的多线程操作。很多时候会碰到禁用exec函数的情况,但如果运维人员安全意识不强或对PHP不甚了解,则很有可能忽略pcntl扩展的相关函数。

COM 组件

Windows环境下,当php.ini的设置项com.allow_dcom =true时,可以通过COM组件执行系统命令,甚至开启安全模式也可以,相关资料参考: https://www.exploit-db.com/exploits/4553/ 。

win32std

win32std是一个很老的PHP扩展,其中的win_shell_execute函数可以用来执行Windows系统命令: https://www.exploit-db.com/exploits/4218/ 。

六、总结

对于入侵者来说,拿到一个webshell之后,如果想要进一步获取更高的权限或更多的数据和信息,执行系统命令几乎是必须的。当我们在中出现了某些纰漏导致遭到入侵时,如何让损失降到最低就成了首要的问题。从本文已经列举的方法中不难看出只要掌握了这些原理,防范工作是非常简单有效的,只要经常关注安全动态,是完全可以做到对以上绕过措施进行防御的。

以上所述是小编给大家介绍的PHP通过bypass disable functions执行系统命令的方法汇总,希望对大家有所帮助。程序员遇到问题都会上(编程之家52php.cn)查找问题解答方法!如果觉得站点还不错,随手转发给程序员朋友一下!

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!