An open API service indexing awesome lists of open source software.

https://github.com/dewebdes/packetminify


https://github.com/dewebdes/packetminify

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

# PacketMinify

**PacketMinify** is a Burp Suite extension that distills HTTP requests into their essential componentsβ€”headers, cookies, query parameters, and bodyβ€”by testing each part's impact on the response. It reconstructs a minimized packet and sends it to Repeater for further analysis.

Crafted by **Kave** & **Microsoft Copilot**, this tool treats packet reduction as a symbolic diagnostic ritual.

---

## πŸ”§ Features

- Context menu integration: Right-click any request β†’ β€œSend to PacketMinify”
- Parses headers, cookies, query params, and body into symbolic parts
- Iteratively disables each part to test its impact on response status and length
- Reconstructs a minimized request using only essential parts
- Displays original and minimized packets in a custom Burp tab
- Sends minimized request to a new Repeater tab for live testing
- Detects cases where minimized packets fail to replicate original behavior β€” flagging them for deeper manual analysis

---

## πŸ“¦ Project Structure

```plaintext
PacketMinify/
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ BurpExtender.java
β”‚ β”œβ”€β”€ MinifierEngine.java
β”‚ β”œβ”€β”€ PacketExtractor.java
β”‚ β”œβ”€β”€ PacketMinifier.java
β”‚ β”œβ”€β”€ PacketMinifyTab.java
β”‚ β”œβ”€β”€ PacketPart.java
β”‚ β”œβ”€β”€ PacketTester.java
β”‚ β”œβ”€β”€ RepeaterSender.java
β”‚ β”œβ”€β”€ ResponseComparator.java
β”‚ └── Utils.java
β”‚
β”œβ”€β”€ lib/
β”‚ └── burp-extender-api-2.1.jar
β”‚
β”œβ”€β”€ build/
β”‚ β”œβ”€β”€ PacketMinify.jar
β”‚ β”œβ”€β”€ BurpExtender.class
β”‚ β”œβ”€β”€ PacketExtractor.class
β”‚ β”œβ”€β”€ PacketMinifier.class
β”‚ β”œβ”€β”€ PacketMinifyTab.class
β”‚ β”œβ”€β”€ PacketPart.class
β”‚ β”œβ”€β”€ PacketTester.class
β”‚ β”œβ”€β”€ RepeaterSender.class
β”‚ β”œβ”€β”€ ResponseComparator.class
β”‚ └── Utils.class
β”‚
β”œβ”€β”€ manifest.json
└── README.md
```

---

## βš™οΈ Installation

1. **Clone or download the project**

2. **Compile the extension**

```bash
javac -cp lib/burp-extender-api-2.1.jar -d build src/*.java
$env:Path += ";C:\Program Files\Java\jdk-21\bin"
jar cf build/PacketMinify.jar -C build .
```

3. **Load into Burp Suite**
- Open Burp β†’ Extender β†’ Extensions β†’ Add
- Select **Extension type: Java**
- Load `build/PacketMinify.jar`

---

## πŸ§™ Usage

1. In Burp's HTTP history or Repeater, right-click a request.
2. Select **Send to PacketMinify**.
3. Open the **PacketMinify** tab to view:
- Original request
- Minimized request
- Logs of which parts were deemed essential
4. The minimized request is automatically sent to Repeater.

---

## 🧩 Logic

PacketMinify performs the following steps:

1. **Extract Parts**: Headers, cookies, query params, and body are parsed into `PacketPart` objects.
2. **Test Essentials**: Each part is temporarily removed and the modified request is sent. If the response changes, the part is marked essential.
3. **Reconstruct Request**: Only essential parts are used to rebuild the minimized packet.
4. **Dispatch to Repeater**: The minimized request is sent to a new Repeater tab for further inspection.
5. **Compare Responses**: If the minimized packet fails to replicate the original response, the extension flags the flow as β€œinteresting” β€” suggesting deeper manual analysis.

---

## πŸ” Symbolic Analysis Mode

When the final minimized packet does **not** yield the same response as the original, PacketMinify enters a symbolic diagnostic mode. This often reveals **interdependent headers** like `Origin` and `Referer`, which may appear non-essential in isolation but are jointly required.

Such flows are ideal for **handy analysis**, allowing the user to:

- Observe fallback logic and header interdependence
- Decode server-side rituals and tolerance thresholds
- Refine attack logic based on symbolic packet behavior

---

## 🧠 Authors

- **Kave** β€” Mythic system architect and diagnostic ritualist
- **Microsoft Copilot** β€” Co-creative AI companion

---

## πŸ“œ License

This project is released under the MIT License. Use it, adapt it, narrate it.