ApacheModCGI提权:bypassdisable_function实操

admin 2025-12-22 04:17:10 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了ApacheModCGI模块的路径解析漏洞,这是一种绕过PHP的disable_function限制执行系统命令的技术。当Apache启用mod_cgi模块并配置特定选项时,攻击者可构造特殊URL请求,利用%2e(URL编码的.)导致路径解析错误,从而访问系统中的shell解释器执行任意命令。文章提供了实战操作步骤,包括使用工具和手动上传文件的方法,最终实现反弹shell获取系统权限。该技术原理是Apache直接运行脚本而不通过PHP解释器,因此不受php.ini中disable_functions配置的限制。 综合评分: 85 文章分类: WEB安全,渗透测试,漏洞分析,实战经验,漏洞POC


cover_image

Apache Mod CGI提权:bypass disable_function实操

原创

晨星安全团队

晨星安全团队

2025年12月16日 11:45 湖南

Apache Mod CGI提权

Apache Mod CGI模块相关的路径解析漏洞,是Web场景中绕过disable_function执行系统命令的常用手段。

题目来源于CTFHUB

当Apache配置中启用了以下内容时:

再配合mod_cgi模块,攻击者可以构造特殊的URL请求,如:

%2e是URL编码的 .,这导致路径解析出错,绕过了限制。

利用该路径访问系统中的sh或其他解释器,附带参数来执行任意命令。

例如:

POST /cgi-bin/.%2e/.%2e/bin/sh HTTP/1.1 Host: vulnerable.com Content-Length: 46 Content-Type: application/x-www-form-urlencodedecho; echo "Content-Type: text/plain"; echo; id

输出将是CGI响应中的用户身份,即已执行系统命令

当你在php.ini中配置:

disable_functions = system, exec, shell_exec, passthru

这只是让PHP解释器在运行 .php 脚本时不允许调用这些函数,防止PHP代码执行系统命令

但前提是——必须通过PHP来运行的代码才会受这个配置限制

当你启用了Apache的mod_cgi模块后,它的工作方式是:

用户请求example.com/cgi-bin/exploit.sh

Apache检查该文件是可执行文件(比如/bin/sh脚本)

Apache启动新子进程,直接使用操作系统运行该脚本(不是交给PHP)

这时,不会加载PHP,也不会执行php.ini的配置逻辑。

点击重置后门目录

点击GetFlag进入到后门,默认index.php

右键插件选择好对应的模式

点击开始后如果条件没问题就会弹终端出来

手动的话需要先上传一个.htaccess文件,参考博客

https://www.cnblogs.com/EddieMurphy-blogs/p/18188088

反弹shell的shell.eddie文件

eddie.php文件

扔到backdoor目录下面,再直接访问eddie.php

会在目录下生成shell.dizzle,再访问shell.dizzle就可以成功反弹shell。

访问eddie.php

蚁剑中刷新目录可以看到执行成功,多出两个文件

–END–


查看原文:《Apache Mod CGI提权:bypass disable_function实操》

评论:0   参与:  0