This repo contains the unholy child created by Claude Code of:
- SocketSleuth (https://labs.snyk.io/resources/socketsleuth-improving-security-testing-for-websocket-applications/) Burp extension for WebSocket testing, offers a small "intruder" / "autorepeater" for authorization testing
- BlazorTrafficProcessor https://github.com/R4ML1N/BlazorTrafficProcessor Burp extension for decoding Blazor messages
Created during a security assessment with not much time. Works ok-ish as long as the WebSocket messages are not too large.
Sits alongside Message/Pretty/Raw/Hex in the SocketSleuth History viewer.
- Decodes BlazorPack into readable JSON
- Automatically aggregates consecutive same-direction frames when Burp splits large messages at 4096 bytes (up to 32 frames). Not sure if that works correctly.
- JSON is editable; Re-encode & Send button re-packs it and sends it over the active WebSocket
- Row colouring
- Column sorting
- Auto-scroll
- Adjusted such that it forwarded the BTP messages
creates target/SocketSleuth-0.1-beta-jar-with-dependencies.jar that can be added in Burp.
- Burp Suite Professional / Community version 2022.9.5 or later
- JDK 17
- Dependencies already fetched into
~/.m2/repository(runmvn dependency:resolveonce if not present, or use Maven for the initial download only)
mvn clean package# from socketsleuth/
find src/main/java -name "*.java" > /tmp/ss_sources.txt
M2="$HOME/.m2/repository"
CP="$M2/net/portswigger/burp/extensions/montoya-api/2023.12.1/montoya-api-2023.12.1.jar:\
$M2/org/json/json/20231013/json-20231013.jar:\
$M2/com/intellij/forms_rt/7.0.3/forms_rt-7.0.3.jar:\
$M2/org/msgpack/msgpack-core/0.9.10/msgpack-core-0.9.10.jar"
mkdir -p /tmp/ss_build
javac --release 17 -cp "$CP" -d /tmp/ss_build @/tmp/ss_sources.txt
cd /tmp/ss_build
for jar in \
"$M2/org/json/json/20231013/json-20231013.jar" \
"$M2/com/intellij/forms_rt/7.0.3/forms_rt-7.0.3.jar" \
"$M2/org/msgpack/msgpack-core/0.9.10/msgpack-core-0.9.10.jar"; do
jar xf "$jar"
done
cp <socketsleuth>/src/main/resources/logo-black-sm.png .
cp <socketsleuth>/src/main/resources/jsonrpc.txt .
printf "Manifest-Version: 1.0\r\n\r\n" > /tmp/ss_manifest.txt
jar cfm <socketsleuth>/target/SocketSleuth-0.1-beta-jar-with-dependencies.jar \
/tmp/ss_manifest.txt -C /tmp/ss_build .