UTF-8 Overlong Encoding导致的安全问题
💡
原文中文,约2700字,阅读约需7分钟。
📝
内容提要
这篇文章探讨了Java反序列化绕过WAF的新方法,介绍了UTF-8编码和Overlong Encoding攻击。文章指出Java在反序列化时使用Modified UTF-8编码,存在Overlong Encoding缺陷。攻击者可以利用这个缺陷绕过基于流量的防御方法。文章还提供了一个Python函数用于将ASCII字符串转换成Overlong Encoding的UTF-8编码。
🎯
关键要点
- 文章探讨Java反序列化绕过WAF的新方法,涉及UTF-8编码和Overlong Encoding攻击。
- UTF-8是流行的编码方式,将unicode码表字符转换为1到4位字节的字符。
- Overlong Encoding是将1个字节字符强行编码为2位以上UTF-8字符的方法。
- Java在反序列化时使用Modified UTF-8编码,存在Overlong Encoding缺陷。
- 攻击者可利用Overlong Encoding绕过基于流量的防御方法。
- 文章提供了一个Python函数用于将ASCII字符串转换为Overlong Encoding的UTF-8编码。
➡️