[0CTF 2016]piapiapia
考察 反序列化字符逃逸
扫目录可以扫到源码,www.zip
然后下载下来审计.
大致功能就是注册,修改信息.
而和数据库有关的操作都限制的很严格,基本不可能有注入.
在update_profile处使用preg_match进行过滤,数组绕过即可.
而下面profile数据是以序列化的格式存储进数据库的.
然后牢记反序列化数据+过滤函数可能会有奇妙的反应.
在update_profile处,题目是对这个传进去的序列化数据过滤过的.
然后过滤函数
会把匹配到的select等替换为hacker.
然后注意到where是五个字符的hacker是六个字符,会有字符减少的情况.所以这里存在反序列化字符逃逸,且属于字符变多的情况
参考 https://blog.csdn.net/weixin_45551083/article/details/111085944
这就意味着可以控制反序列化数据.然后注意到profile里面还有一个photo.可以利用photo读文件
然后又知道flag在config.php
预期payload
<?php
$profile['phone']=