news 2026/8/25 8:14:55

5分钟上手教程:CVE-2019-11708 Firefox浏览器漏洞利用链快速运行完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5分钟上手教程:CVE-2019-11708 Firefox浏览器漏洞利用链快速运行完整指南

5分钟上手教程:CVE-2019-11708 Firefox浏览器漏洞利用链快速运行完整指南

【免费下载链接】CVE-2019-11708Full exploit chain (CVE-2019-11708 & CVE-2019-9810) against Firefox on Windows 64-bit.项目地址: https://gitcode.com/gh_mirrors/cv/CVE-2019-11708

本文带你用 5 分钟完整跑通CVE-2019-11708 Firefox 浏览器漏洞利用链:这是一个面向 Windows 64 位 Firefox 的开源安全研究项目,组合 CVE-2019-9810 与 CVE-2019-11708 两个漏洞,实现从内容进程到父进程沙箱逃逸的浏览器完全接管。你只需克隆仓库、启动本地页面并开启 BigInt,就能看到桌面被"Slime Shady"蠕虫精灵攻占的完整演示效果。

🎯 项目能做什么:一次点击接管整个浏览器

这套利用链的杀伤力在于"两步走":

  • CVE-2019-9810(IonMonkey 引擎缺陷):通过数据损坏获得特权 JS 执行能力(业内俗称God Mode),全程不劫持控制流,隐蔽性极高;
  • CVE-2019-11708Prompt:OpenIPC 消息参数校验不足):诱导非沙箱的父进程访问攻击者指定的任意 URL,从而突破进程沙箱边界。

利用链按以下四步自动执行:

  1. 用 CVE-2019-9810 完成 God Mode 数据损坏,并刷新当前页面;
  2. 特权 JS 定位当前帧的消息管理器,触发 CVE-2019-11708;
  3. 父进程被诱骗访问攻击页面后,再次利用 CVE-2019-9810 拿到父进程的特权 JS;
  4. 此时整个浏览器(含沙箱)沦陷:下载投放slimeshady.exe,并用Services.mm.loadFrameScript每一个标签页注入特权脚本完成后门驻留。

🕸️ 漏洞利用链工作原理(新手秒懂版)

为什么需要两个漏洞组合?

Firefox 的多进程架构把网页内容关在沙箱进程里。单独一个漏洞通常只能打穿"一层":

漏洞角色突破的防线
CVE-2019-9810拿到沙箱内特权 JS沙箱内提权(God Mode)
CVE-2019-11708让父进程打开任意 URL进程沙箱边界逃逸
CVE-2019-9810(二次利用)在父进程再来一次 God Mode完全接管浏览器

这正是它被称为full exploit chain(完整利用链)的原因——一次点击,层层递进。

🚀 5分钟快速运行步骤(最快配置方法)

第一步:准备运行环境

  • Windows 10(19H2)64 位系统;
  • Firefox68.0a1自定义构建版(作者在项目 release 中提供了打包好的浏览器,内含js.exe与私有符号信息);
  • about:config中开启javascript.options.bigint(利用链依赖 BigInt 做地址运算与内存破坏控制)。

第二步:获取项目并启动本地服务

git clone https://gitcode.com/gh_mirrors/cv/CVE-2019-11708 cd CVE-2019-11708 python -m http.server 8000

第三步:见证利用链触发

用 Firefox 打开http://localhost:8000/index.html点击页面任意位置即触发利用。片刻之后,你会看到桌面涌现出成群的蠕虫精灵动画——这就是slimeshady.exepayload 在工作。

⚠️ 请仅在隔离虚拟机中运行,切勿用于真实环境或攻击他人。

🧬 编译桌面 Payload:让 Slime Shady 亲自上场

桌面蠕虫动画的源码在 payload 模块中,编译只需一行命令:在 VS 2017 的 x64 Native Tools 命令行中进入 payload 目录执行:

nmake

构建过程由payload/Makefile编排,依次完成:

  1. 调用payload/src/genheaders.py,把payload/sprites/下的 12 帧精灵图预处理为压缩 DIB 头;
  2. cl编译payload/src/payload.cc,产出payload\bin\payload.exe
  3. 自动启动生成的 payload。

payload 的绘制思路很精巧:用 GDI 创建数十个分层置顶透明窗口,由主窗口定时发送WM_TIMER触发全量重绘,最终通过StretchDIBits逐帧动画。

📁 关键文件导读(源码导航清单)

  • index.html—— 入口攻击页,onclick触发利用主流程,背景即上面那张 Cthulhu 概念图;
  • cthulhu.js—— 利用链核心(约 736 行),包含 God Mode 数据损坏与父进程逃逸逻辑;
  • ff-toolbox.js—— 内存读写工具库(约 931 行),提供 BigInt 地址运算、IAT 遍历等基础能力;
  • payload/src/payload.cc—— GDI 蠕虫动画 payload 主程序;
  • payload/src/genheaders.py—— 精灵图 → DIB 头文件生成脚本;
  • payload/Makefile—— 一键编译脚本(kill → 清理 → 生成 → 编译 → 启动)。

⚠️ 安全与免责须知

  • 本教程仅用于安全研究与学习,必须在隔离环境中运行;
  • CVE-2019-11708 已随 mfsa2019-19 公告修复,且 Mozilla 在 2020 年 2 月通过 Bug 1602485 又加固了数据损坏原语,现代浏览器已不受影响;
  • 利用链针对作者的特定 Firefox 构建调试,换版本运行可能需要自行适配。

❓ 常见问题速答

Q:为什么必须开启 BigInt?A:cthulhu.js依赖 BigInt 完成 64 位地址运算和受控内存写入,不开启则利用链无法推进。

Q:点击页面没反应怎么办?A:依次检查:Firefox 是否为 68.0a1 自定义构建版、系统是否 Windows 64 位、javascript.options.bigint是否为 true。

Q:利用成功的最终效果是什么?A:三重效果——桌面铺满 Slime Shady 动画精灵、每个已打开及新开的标签页被注入特权脚本、父进程获得持久化的导航后门能力。

【免费下载链接】CVE-2019-11708Full exploit chain (CVE-2019-11708 & CVE-2019-9810) against Firefox on Windows 64-bit.项目地址: https://gitcode.com/gh_mirrors/cv/CVE-2019-11708

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 8:12:25

彻底解决雪花算法ID在前端JavaScript中的精度丢失问题

1. 问题场景:一个看似简单却普遍存在的“幽灵”问题如果你是一名后端开发者,或者正在构建一个全栈应用,那么下面这个场景你一定不陌生:你精心设计了一套用户系统,后端使用雪花算法生成了唯一、有序且高性能的用户ID。这…

作者头像 李华
网站建设 2026/8/25 8:12:23

SAP固定资产核心底表全解析:从ANLA到ANEP的数据逻辑与应用

1. 项目缘起:为什么需要深挖SAP固定资产底表?在SAP FICO(财务会计与控制)模块的日常运维和项目实施中,固定资产管理(Asset Accounting,简称AA)是一个既基础又复杂的领域。很多刚接触…

作者头像 李华
网站建设 2026/8/25 8:09:46

Java Stream limit()方法:从短路求值到性能优化的核心实践

1. 项目概述:为什么limit()是Stream操作中的“黄金分割点”在Java 8引入Stream API之后,数据处理的方式发生了根本性的变化。从传统的命令式、循环驱动的模式,转向了声明式、函数式的流水线操作。在这个全新的范式里,limit(long m…

作者头像 李华
网站建设 2026/8/25 8:09:34

射击游戏后台开发:物理引擎应用与移动模拟实战

写在前面:本文以《无限法则》这类"吃鸡"射击游戏为背景,聊聊后台是怎么处理物理和移动的。这里讲的是行业通用的技术思路和原理,而非某款游戏的内部实现细节,重在把"门道"讲明白。 开篇:一个让你血压飙升的场景 你在玩射击游戏,明明准星死死套住敌人…

作者头像 李华
网站建设 2026/8/25 8:06:46

大语言模型使用技巧

一、现象确认 二、学术概念化 三、定位优质资源 a:聚焦感兴趣的学术概念,定位学术文献 b:换不同的方式问,保证文献的质量和丰富性 C:让它总结这些文献,你和AI同频学习 ps:如果学习中有一些有趣的…

作者头像 李华
网站建设 2026/8/25 8:06:38

conda环境迁移

第一步:导出环境配置 在Conda中,环境的迁移通常涉及两个方面:导出环境配置和导出环境中的包。这可以通过以下步骤来完成: 导出环境配置 在源环境中运行以下命令,导出环境配置到一个 environment.yml 文件中&#xff1a…

作者头像 李华