Java序列化

Java序列化

ysoserial:payload生成工具
Java中的api实现:
位置:java.io.ObjectOutputStream java.io.ObjectInputStream
序列化:ObjectOutputStream类–>writeObject()
该方法对参数指定的对象进行序列化,并把字节序列写到一个目标输出流中,按Java的标准是给文件一个.ser的扩展名
反序列化:ObjectInputStream–>readObject()
该方法从一个源输入流中读取字节序列,然后反序列化为一个对象,并返回结果。
检测:黑盒:数据格式点:HTTP请求中的参数(特征),自定义协议,工具扫描
白盒:java.io.ObjectOutputStream
java.io.ObjectInputStream
XMLDecoder.readObject
XStream.fromXML
ObjectMapper.readValue
JSON.parseObject

特征:以rO0AB开头,为Java序列化base64加密后的结果
以aced开头,为Java序列化后的16进制
关于反弹shell 当构造payload时,如果没回显,需要考虑反弹shell。
reverse shell,就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。通常用于被控端因防火墙受限、权限不足、端口被占用等情形。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值