目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1310

100%

CVE-2017-5638 PoC — Apache Struts 2 输入验证错误漏洞

来源
关联漏洞
标题:Apache Struts 2 输入验证错误漏洞 (CVE-2017-5638)
Description:Apache Struts是美国阿帕奇(Apache)软件基金会的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架,主要提供两个版本框架产品,Struts 1和Struts 2。 Apache Struts 2 2.3.32之前的2 2.3.x版本和2.5.10.1之前的2.5.x版本中的Jakarta Multipart解析器存在安全漏洞,该漏洞源于程序没有正确处理文件上传。远程攻击者可借助带有#cmd=字符串的特制Content-Type HTTP头利用该漏洞执行任意命令。
Description
Apache Struts2 CVE-2017-5638 (Safe Educational Demo)
介绍
# PoC: Apache Struts2 CVE-2017-5638 (Safe Educational Demo)

## 📌 Overview
This project is a **Proof-of-Concept (PoC)** for **CVE-2017-5638**, a famous Apache Struts2 vulnerability that allowed attackers to execute arbitrary code on affected servers.  
⚠️ This repository contains a **safe, non-exploitative demo** designed for **educational purposes only**. It does not perform any malicious actions.

---

## 🔎 About the Vulnerability
- **CVE ID**: [CVE-2017-5638](https://nvd.nist.gov/vuln/detail/CVE-2017-5638)  
- **Type**: Remote Code Execution (RCE)  
- **Component**: Apache Struts2 (Jakarta Multipart Parser)  
- **Root Cause**: User input in the `Content-Type` header was improperly passed to **OGNL** (Object-Graph Navigation Language), allowing attackers to inject and execute code on the server.  
 
---

## 🛠️ How This PoC Works
This script demonstrates how an attacker might *test* for the vulnerability — but in a **harmless way**.  

- It sends a specially crafted `Content-Type` header containing an OGNL expression.  
- Instead of executing dangerous commands, the payload simply attempts to add a custom header (`X-Vuln: Vulnerable`) to the server’s response.  
- If the header appears, it means the server is processing OGNL input and is **likely vulnerable**.  

This makes it a safe demonstration of the vulnerability without actually exploiting it.  

---

## ▶️ Usage
```bash
# Install required package
pip install requests

# Run the script
python3 struts2_poc.py

# Enter a target URL when prompted (example)
http://example.com/
文件快照

登录后查看神龙缓存的 POC 文件快照

登录查看
备注
    1. 建议优先通过来源进行访问。
    2. 本地 POC 快照面向订阅用户开放;当原始来源失效或无法访问时,本地镜像作为订阅权益的一部分提供。
    3. 持续抓取、验证、维护这份 POC 档案需要不少投入,因此本地快照已纳入付费订阅。您的订阅是让这份资料能继续走下去的关键,由衷感谢。 查看订阅方案 →