Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1310 CNY

100%

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

Source
Associated Vulnerability
Title:Apache Struts 2 输入验证错误漏洞 (CVE-2017-5638)
Description:The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 has incorrect exception handling and error-message generation during file-upload attempts, which allows remote attackers to execute arbitrary commands via a crafted Content-Type, Content-Disposition, or Content-Length HTTP header, as exploited in the wild in March 2017 with a Content-Type header containing a #cmd= string.
Description
A Deliberately Vulnerable Web Application built on Struts 2 (CVE-2017-5638) and Log4J (CVE-2021-44228) for testing and demonstration of OWASP Top 10 Web Application Security Risks: A06:2021-Vulnerable and Outdated Components.
Readme
# Deliberately Vulnerable Web Application (Struts 2)

This project is a Java web application using the Struts 2 framework. It is built with Maven and can be run using the Jetty server.

## Prerequisites

- Java Development Kit (JDK) 8 or higher
- Apache Maven 3.6.0 or higher

## Getting Started

### Build the project

```sh
mvn clean install
```

### Run the project with Jetty

```sh
mvn jetty:run
```

### Access the application

Open your web browser and navigate to `http://localhost:8080/dvwa`.

## Project Structure

- `src/main/java`: Contains the Java source code.
- `src/main/resources`: Contains the configuration files.
- `src/main/webapp`: Contains the web application files (JSP, HTML, CSS, JS).

## Configuration

### Struts Configuration

The Struts configuration is located in `src/main/resources/struts.xml`.

### Maven Configuration

The Maven configuration is located in `pom.xml`.

## License

This project is licensed under the MIT License - see the `LICENSE` file for details.
File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →