WEB漏洞-反序列化之PHP&JAVA全解(下)

WEB漏洞-反序列化之PHP&JAVA全解(下)_第1张图片
WEB漏洞-反序列化之PHP&JAVA全解(下)_第2张图片

序列化和反序列化

序列化(Serialization): 将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。

反序列化:从存储区中读取该数据,并将其还原为对象的过程,成为反序列化。

小例子:
使用writeObject()函数对person对象进行序列化,并把序列化后的字符串存入文件d:/person.txt中
WEB漏洞-反序列化之PHP&JAVA全解(下)_第3张图片使用readObject()对文件d:/person.txt中序列化后的字符串进行反序列化操作并返回对象person
WEB漏洞-反序列化之PHP&JAVA全解(下)_第4张图片
在这里插入图片描述

注意:

下方的特征可以作为序列化的标志参考:
一段数据以rO0AB开头,你基本可以确定这串就是JAVA序列化base64加密的数据。
或者如果以aced开头,那么他就是这一段java序列化的16进制。|

思考:
如果目标会把反序列化后的结果当成系统命令执行,此时反序列化的内容也是可控的,但是目标网站无回显(不会显示你执行命令后的结果)此时应该怎么办?可以尝试反弹shell

反弹shell:将对方执行命令的会话结果,返回到另一台服务器上进行显示

你可能感兴趣的:(渗透笔记2,前端,php,java)