反序列化随手
1 | |
启动进入service方法

在service方法中,将socket连接信息传进CommunicateHandler对象处理

其中serverSocket对象的初始化信息如下:

getServerPort方法返回的是指定的8821端口

getserverAddr则返回的是本机ip

回到对socket的处理,跟进CommunicateHandler类
1 | |
将包含有连接信息的socket对象传进handle方法

在handle方法中,使用ObjectInputStream对象的readObject方法对获取的socket数据流进行了反序列化,由于与socket通信的数据是可控的,导致了漏洞的产生

验证:
使用python编写一个与目标进行socket通信发送恶意数据的脚本
1 | |
启动目标
1 | |

运行脚本,向目标发送恶意数据,目标接收消息后触发

能使用的利用链:

声明:
本文章用于学习交流,严禁用于非法操作,出现后果一切自行承担,阅读此文章表示你已同意本声明。
Disclaimer:
This article is for study and communication. It is strictly forbidden to use it for illegal operations. All consequences shall be borne by yourself. Reading this article means that you have agreed to this statement.