ThinkPHP <5.0.24 Request.php 远程代码执行漏洞 --已解决

2019年1月11日,阿里云云盾应急响应中心监测到ThinkPHP官方发布安全更新,披露了一个高危安全漏洞,***者构造特定的恶意请求,可以直接获取服务器权限,受影响的版本包括5.0.0~5.0.23版本

修复方法1.打开
thinkphplibrarythinkRequest.php
搜索

public function method($method = false)
{
if (true === $method) {
// 获取原始请求类型
return $this->server('REQUEST_METHOD') ?: 'GET';
} elseif (!$this->method) {
if (isset($_POST[Config::get('var_method')])) {
$this->method = strtoupper($_POST[Config::get('var_method')]);
$this->{$this->method}($_POST);
} elseif (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) {
$this->method = strtoupper($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE']);
} else {
$this->method = $this->server('REQUEST_METHOD') ?: 'GET';
}
}
return $this->method;
}
改成:

public function method($method = false)
{
if (true === $method) {
// 获取原始请求类型
return $this->server('REQUEST_METHOD') ?: 'GET';
} elseif (!$this->method) {
if (isset($_POST[Config::get('var_method')])) {
$method = strtoupper($_POST[Config::get('var_method')]);
if (in_array($method, ['GET', 'POST', 'DELETE', 'PUT', 'PATCH'])) {
$this->method = $method;
$this->{$this->method}($_POST);
} else {
$this->method = 'POST';
}
unset($_POST[Config::get('var_method')]);
} elseif (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) {
$this->method = strtoupper($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE']);
} else {
$this->method = $this->server('REQUEST_METHOD') ?: 'GET';
}
}
return $this->method;
}
保存,覆盖 测试无误 漏洞修复完成

转载于:https://blog.51cto.com/13555423/2361143

### 回答1: ThinkPHP是一款优秀的PHP开发框架,但在不久前,其官方发布的5.0.24版本中存在一处安全漏洞,可以被攻击者利用进行非法操作或流量劫持。 近期网络上出现了一些ThinkPHP5.0.24漏洞利用工具,攻击者可以利用这些工具进行恶意攻击,比如模拟用户登录、上传恶意文件、获取服务器权限等。而这些攻击都可能严重危害服务器安全,甚至导致数据泄露或丢失。 因此,使用ThinkPHP5.0.24漏洞利用工具的行为是不道德的、非法的,同时也将危及自己和他人的安全。我们应该高度关注漏洞修复的情况,并及时更新框架版本,以保障网站安全。 此外,防范漏洞利用的最好方式是对网站进行全面加固,比如使用防火墙、加强用户认证、控制权限等等。只有在加强安全方面的努力下,才能避免因漏洞被攻击,导致不必要的损失。 ### 回答2: thinkphp5.0.24是一种基于PHP的开源Web应用框架,简单易用,并且具有高度扩展性。然而,其中存在一个被恶意利用的漏洞,即命令执行漏洞,攻击者可以利用该漏洞执行任意命令。 针对这个漏洞,黑客们开发了一些利用工具。其中,比较常见的有ThinkPHP5.0/5.1 远程代码执行漏洞利用工具和thinkphp5.0.24远程代码执行漏洞利用工具。 这些利用工具的基本原理是通过漏洞执行一段代码,然后让服务器返回含有WebShell的Payload。其中,一个比较常用的Payload是通过控制Meta信息中的User-Agent,让服务器返回一段WebShell代码。得到WebShell后,攻击者可以执行任意命令。 针对此类漏洞,建议管理员及时更新最新版本的ThinkPHP,并定期对系统进行安全扫描等操作,以及增强系统的安全性。另外,也建议加强员工安全意识教育,不要随意下载不明来源的文件或点击垃圾邮件等操作。 ### 回答3: ThinkPHP是一个使用PHP语言开发的MVC框架,它具有开源、易上手、性能强等优点,因此被广泛应用于各类Web开发中。但是,ThinkPHP也存在一些漏洞,例如ThinkPHP 5.0.24版本中,存在一种反序列化漏洞,攻击者可以通过发送一个恶意的HTTP请求来执行任意代码,造成系统安全威胁。 为了利用该漏洞,黑客们开发了一些漏洞利用工具。其中,比较有名的是一款名为“ThinkPHP5.0.24 反序列化命令执行漏洞一键”的工具,该工具可以帮助攻击者快速识别和利用漏洞,在不需要过多技术能力的情况下就能实现攻击。 具体来说,该工具可以通过一些简单的配置,如输入目标IP地址、选择漏洞扫描或直接执行命令等,来实现对已知漏洞目标的攻击,从而获取系统权限、窃取敏感信息等恶意行为。 但是,提醒广大用户,利用漏洞工具进行攻击是违法的行为,严格禁止任何个人和组织非法攻击和滥用该工具。我们应该采取更有效的方式,如及时更新补丁、加强网络安全防范等,来保障自己和他人的网络安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值