How elespike/burp-cph works
Custom Parameter Handler is a Burp Suite extension for configuring ordered, scoped HTTP-message transformations, including extracting dynamic values from issued requests, macros, or cached responses. Burp delivers messages and session-handling actions to the extension, which applies enabled tab rules and writes modifications back; users configure rules and inspect changes in the suite UI. The excerpts show the main dispatch and parts of message processing, while some wiring and persistence details are documented rather than sampled.
Main entry points: CustomParamHandler.py Extension callbacks · CPH_Config.py Main tab · tinyweb.py Interactive demo server · CPH_Help.py Help content
Components 17
Burp runtime
- Extension callbacks
CustomParamHandler.py
Configuration UI
- Main tab
CPH_Config.py - Rule tabs
CPH_Config.py - Scope options
CPH_Config.py - Modification viewer
CPH_Config.py
Message processing
- Scope filtering
CustomParamHandler.py - Regex replacement
CustomParamHandler.py - Dynamic value sources
CustomParamHandler.py - Request issuer
CustomParamHandler.py - Message update
CustomParamHandler.py
Persistence and demos
- Config persistence
CPH_Config.py - Interactive demo server
tinyweb.py - Help content
CPH_Help.py
Other components
- Burp user
- Burp Suite
- HTTP target
- JSON config file
Connections 21
- Burp user → Main tab: configures
- Burp user → Extension callbacks: sends requests
- Burp Suite → Extension callbacks: dispatches callbacks
- Extension callbacks → Main tab: creates
- Main tab → Rule tabs: manages
- Main tab → Scope options: hosts
- Extension callbacks → Scope options: reads settings
- Extension callbacks → Scope filtering: checks messages
- Scope filtering → Rule tabs: selects rules
- Extension callbacks → Regex replacement: modifies messages
- Regex replacement → Dynamic value sources: uses extracted values
- Extension callbacks → Request issuer: issues configured request
- Request issuer → HTTP target: sends HTTP request
- Extension callbacks → Message update: writes modified message
- Extension callbacks → Modification viewer: records changes
- Burp user → Config persistence: saves or loads
- Config persistence → JSON config file: reads or writes
- Scope options → Interactive demo server: starts or stops
- Main tab → Help content: shows guidance
- Dynamic value sources → Rule tabs: reads cached responses
- Burp Suite → Dynamic value sources: provides macro response