Check-In
D冠的签到题
反序列化写入文件,但是在脚本执行最后会删除文件。
原理用 PHP Fast Destruct 产生 fatal error,然后导致执行完反序列化后后面代码停止执行,但是正常执行__destruct()
。
参考链接用到了很有意思的一个github源:
收录了一些常见的PHP反序列化的POC利用等,在线下应该会比较经常用到。
利用方法:在对象反序列化过程中添加第三个参数,变量名不限,变量值为ado对象,使反序列化产生报错而终止,但是依然执行__destruct()。
wp POC:
可以看见发生报错,echo语句不执行,但是类对象正常销毁,访问可得echo 1。
shell蚁剑拿flag。
这题的非预期解是目录穿越,绕过rm -rf,只要把文件名改成../1.php即可。
Last updated