皮卡丘靶场解题记录-PHP反序列化
皮卡丘靶场解题记录-PHP反序列化
1、漏洞原理总结:
要搞懂php反序列化,首先要了解两个函数,serialize()和unserialize()
| 函数 | 作用 | 白话 |
|---|---|---|
serialize() |
对象 → 字符串 | 把对象打包成快递箱(方便传输/存储) |
unserialize() |
字符串 → 对象 | 收到快递拆箱还原成对象 |
同样这里也是信任了用户。这里的序列化的内容是由用户放入的,但反序列之后并没有检查内容,就直接使用了。
2、我的测试过程:

3、核心漏洞代码分析:
1 | if(isset($_POST['o'])){ |
具体漏洞前文已经说了,此处略。
payload:
1 | O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";} |
把其中一个标签换成xss语句,字符串长度也跟着改。
然后就能直接弹窗了。
4、实战延伸:

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michele!
评论