当前位置: 首页 > news >正文

CTFHub Web进阶-PHP:Bypass_disable_function通关4之PHP-FPM

目录

一、PHP-FPM绕过

1、 PHP-FPM 绕过核心原理

2、使用蚁剑进行PHP-FPM绕过

二、渗透实战

1、开启题目

2、打开靶场

3、源码分析

4、蚁剑直接连接

5、虚拟终端

6、蚁剑工具-disable function

(1)disable function插件

(2)连接新木马

(3)新木马-文件系统

(4)新木马-虚拟终端-获取flag


本文详细讲解CTFHub的Web进阶中disable-functions的PHP-FPM关卡的渗透全流程。通过分析PHP-FPM绕过原理(利用FastCGI协议直接通信),展示如何使用蚁剑工具连接Webshell并加载Bypass插件,最终成功执行系统命令获取flag。实战部分包括靶场环境搭建、源码分析、蚁剑连接、虚拟终端操作等全流程,重点演示了通过生成代理脚本绕过disable_function限制的技术方案。

一、PHP-FPM绕过

1、 PHP-FPM 绕过核心原理

PHP-FPM绕过手法的核心在于与PHP-FPM服务直接通信,从而绕过PHP层面的限制。其基本原理可以概括为以下几步:

  • 利用条件:首先,你需要有一个Webshell,并且服务器环境是Nginx+PHP-FPMApache+PHP-FPM。PHP-FPM通常会监听一个端口(如9000)或一个Unix Socket文件(如/var/run/php/php7.2-fpm.sock)。

  • 通信协议:PHP-FPM采用FastCGI协议进行通信。通过向PHP-FPM监听的目标发送精心构造的FastCGI协议数据包,我们可以直接与其交互。

  • 执行任意PHP代码:在FastCGI协议中,可以通过设置某些参数(如PHP_VALUEPHP_ADMIN_VALUE)来动态修改PHP配置。攻击者可以借此开启auto_prepend_file等选项,或者直接传递PHP代码让其执行,从而突破disable_functions的限制

2、使用蚁剑进行PHP-FPM绕过

蚁剑(AntSword) 是一款强大的Webshell管理工具,它集成了多种Bypass disable_function的插件,具体步骤如下所示:

  • 连接Webshell:使用蚁剑成功连接到你的Webshell。

  • 选择Bypass插件

    • 在蚁剑中,找到并加载"Bypass Disable Functions"相关插件。根据你的环境,选择 Fastcgi/PHP-FPM 模式。

    • 插件通常会要求你填写PHP-FPM的通信地址。这可以是:

      • TCP地址:例如 127.0.0.1:9000 (如果PHP-FPM监听端口)

      • Unix Socket地址:例如 unix:///var/run/php/php7.2-fpm.sock (你需要知道socket文件的准确路径,可以通过查看PHP配置文件或phpinfo()信息获取)

  • 生成代理脚本:配置好地址后,插件会在服务器上生成一个特殊的代理脚本(例如.antproxy.php)。 这个脚本的作用是将你的请求通过FastCGI协议转发给PHP-FPM服务

  • 切换连接:使用蚁剑重新连接这个新生成的代理脚本的URL。

  • 执行命令:连接成功后,你就可以通过这个代理在蚁剑的虚拟终端中正常执行系统命令了,例如 tac /flag

二、PHP-FPM关卡渗透实战

1、开启题目

打开靶场关卡,页面提示“正常情况下, PHP-FPM 是不会对外开放的。在有 webshell 之后,这就变得不一样了。学习通过攻击 PHP-FPM 达到 Bypass 的目的”,如下所示。

2、打开靶场

http://challenge-20f79b9735a3d332.sandbox.ctfhub.com:10800/

3、源码分析

这段CTF题目源码通过eval($_REQUEST['ant'])提供远程代码执行入口,但关键系统函数已被禁用。题目要求攻击PHP-FPMFastCGI进程管理器)来绕过限制。攻击原理是利用PHP-FPM的未授权访问风险,通过构造特殊的FastCGI协议数据包,直接与PHP-FPM9000端口通信。当服务器采用FPM/FastCGI模式运行PHP时,攻击者可以伪造请求修改PHP配置,将任意文件扩展名解析为PHP,或直接执行PHP代码。这种技术不依赖系统命令函数,而是通过网络协议层面的攻击实现代码执行,有效突破disable_function的限制。

http://challenge-20f79b9735a3d332.sandbox.ctfhub.com:10800/

CTFHub Bypass disable_function —— 攻击PHP-FPM

本环境来源于AntSword-Labs

<!DOCTYPE html>
<html>
<head>
    <title>CTFHub Bypass disable_function —— 攻击PHP-FPM</title>
</head>
<body>
<h1>CTFHub Bypass disable_function —— 攻击PHP-FPM</h1>
<p>本环境来源于<a href="https://github.com/AntSwordProject/AntSword-Labs">AntSword-Labs</a></p>
</body>
</html>
<?php
@eval($_REQUEST['ant']);
show_source(__FILE__);
?>

很明显php代码是一个高危的Webshell后门,允许攻击者通过ant参数远程执行任意PHP代码,完全控制Web服务器,可进行文件操作、命令执行、数据库访问等恶意行为,严重威胁服务器安全。

  • @操作符:抑制错误显示,增强隐蔽性

  • $_REQUEST['ant']:接收GET或POST参数中的ant参数

  • eval():将字符串作为PHP代码执行,构成任意代码执行安全风险

4、蚁剑直接连接

http://challenge-20f79b9735a3d332.sandbox.ctfhub.com:10800/ 密码ant

5、虚拟终端

通过“选中木马的会话-右键-虚拟终端”进入在木马的虚拟终端窗口,如下所示。

如下所示,命令执行失败。

6、蚁剑工具-disable function

(1)disable function插件

我们通过蚁剑工具的disable function插件绕过服务器的限制,具体操作步骤如下所示。

插件选择 Fastcgi/PHP-FPM模式,具体如下所示。

点击后进入如下界面。

FPM/FCGI 地址 localhost:9000,通讯地址我们选择本地的 (相当于他服务器的本地),然后点击开始如下所示。

此时进入根目录,目录中多了.antproxy.php文件,如下所示。

(2)连接新木马

http://challenge-7e5a3b55b4ffb061.sandbox.ctfhub.com:10800/.antproxy.php

密码ant

添加后如下所示。

(3)新木马-文件系统

通过“选中新木马的会话-右键-文件系统”进入在新木马的文件系统窗口,如下所示。

查看根目录,发现/readflag和/flag文件,如下所示。

查看/readflag文件,具体如下所示。

(4)新木马-虚拟终端-获取flag

在新弹木马的虚拟终端窗口,首先我们尝试执行ls命令,如下所示成功返回当前目录结构。

在新木马的虚拟终端中输入ls /、cat /readflag和tac /flag命令成功获取到flag,如下所示。

http://www.dtcms.com/a/579011.html

相关文章:

  • 培训学做网站要多久东莞seo排名扣费
  • iis 网站压缩厦门建设局网站首页
  • report_constraint命令及报告解读
  • 湘潭网站建设的公司国家城乡建设部投诉网站
  • 计算机图形学·10 表示(Representation)
  • 关于xlsx下载一直报错问题记录
  • 湖南株洲网站建设无锡网站优化哪家好
  • 用火车采集器发布信息时 如何获取网站栏目id主页不是wordpress
  • 新乡专业网站建设公司wordpress漂浮表单
  • RabbitMQ直接查看队列中消息的内容
  • 做网站怎么接私活全国建筑网站
  • 电子商务网站建设书哪个网站做医学培训好
  • 国外设计网站pinterest设计网址网站建设公司市场策划方案
  • HTTP协议与Web详解
  • 腾讯企点怎么注册抖音seo推荐算法
  • 网站建设费会计分录如何在ftp做网站
  • 广东智能网站建设费用如何建立网站会员系统
  • 网站开发进度确认单中铁建设集团有限公司有多少个局
  • 怎么找做网站的人西安网站制作维护
  • 做网站这个工作怎么样生产企业erp系统开发
  • 建站公司外包wordpress升级后编辑器没有
  • 潍坊网站建设服务access做网站数据库能有多大容量
  • 株洲在线网站的目标客户上海市中小企业服务中心
  • java中的split
  • Advancing Real-World Image Dehazing: Perspective, Modules, and Training
  • 双向循环链表
  • 做区块链在哪个网站推广渠道有哪些
  • 做校园二手交易网站的目的济南网站制作方案
  • 网站开发公司会计科目怎么说服客户做网站
  • 北京别墅设计网站网站制作价格行情