[HMGCTF2022]Fan Website
我们访问www.zip能拿到源码
我们在module/Album/config/module.config.php里发现一个新路由album
并且发现了一个控制台,可以进行上传、删除等操作
我们在imgdeleteAction方法里发现一个@unlink
1 | public function imgdeleteAction() |
并且在imguploadAction方法里发现一个正则
1 | if (preg_match("/<\?|php|HALT\_COMPILER/i", $cont )) { |
它过滤了HALT_COMPILER,我们猜测这是一个phar反序列化
绕过正则参考:https://www.freebuf.com/articles/web/291992.html
构造出生成phar文件的php源码为:
1 |
|
将生成的phar文件添加足够数据保证压缩后大于3KB,然后再通过gzip压缩并更名为test.jpg
并上传。
我们访问/album/imgupload上传图片
接着去删除页面通过phar伪协议删除来触发反序列化,得到flag