Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
browser-pwn — 一个针对浏览器利用的更新资源集合。 | Kitploit
工具/GitHubGitHub/m1ghtym0/browser-pwn
漏洞利用模糊测试CTF论文与研究学习与教育精选资源二进制利用
GitHubm1ghtym0/browser-pwn

browser-pwn

一个针对浏览器利用的更新资源集合。

查看仓库
832114145年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Browser-Pwn

===

浏览器世界由四大主要参与者主导:

  • Chromium/Chrome(Blink 引擎)
  • Firefox(Gecko 引擎)
  • Safari(WebKit 引擎)
  • Edge(Blink 引擎,前身为 EdgeHTML 引擎)

以下内容分为两个部分:

  • 帮助理解其架构与实现,以及如何从源码构建它们的信息
  • 帮助找到让它们弹出计算器(calculator popping)的功能的信息

目录

  1. 引擎
    • 概述
    • Chromium
    • Firefox
    • Safari
    • Edge
  2. 漏洞利用
    • 概述
    • Chromium
    • Firefox
    • Safari
    • Edge
  3. 工具
  4. JavaScript 文档

引擎

引擎概述

  • JavaScript 引擎基础:好的、坏的和丑陋的
  • JavaScript 引擎基础:形状与内联缓存
  • JavaScript 引擎——它们究竟是如何工作的(视频)

浏览源码

当然,你可以使用自己最喜欢的配置来浏览源码。 不过,这些代码库相对较大,我尝试了好几种不同的配置,才找到适合我的方案。 如果你还没有合适的配置,下面是我的一些经验,或许对你有帮助:

  • CTags(+Vim):在跟踪引用和调用方面表现良好。如果你习惯用这种简约的配置浏览大型源码树,它可能是个不错的选择。 缺点是缺乏如今大多数大型 IDE 所具备的功能。
  • CLion:我的许多编码工作都在使用 JetBrains 产品,但 CLion 对我的体验不太好,尤其是在跟踪引用方面。当然,这可能是配置方面的问题。
  • Eclipse:我有一段时间没用它了,但它其实是个不错的选择。遗憾的是,索引器遍历代码需要消耗大量资源。
    • 这里是 Chromium 项目的配置说明,但其他项目也类似。
  • ccls+VSCode:这是我目前用过的最佳方案。ccls 在索引代码库时非常快,与 VSCode 配合得很好。你还可以将其与其他编辑器和 IDE 结合使用,参见 https://github.com/MaskRay/ccls/wiki/Editor-Configuration

Chromium(Blink)

项目 | GitHub

文章:

  • 什么是 Chromium?(德语)

Blink 的 JavaScript 引擎是 V8。

V8

项目 | GitHub | 源码 | 构建方法

构建(Ubuntu 18.04):

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
$ export PATH=$PATH:./depot_tools
$ gclient
$ mkdir ./v8 && cd ./v8
$ fetch v8 && cd v8
$ git pull
$ gclient sync
$ ./build/install-build-deps.sh
$ tools/dev/gm.py x64.release
$ out/x64.release/d8

有用的标志:

  • --print-opt-code:优化编译器生成的代码
  • --print-byte-code:解释器生成的字节码
  • --trace-ic:调用点遇到的不同对象类型
  • --trace-opt 和 --trace-deopt:哪些函数被(去)优化
  • --trace-turbo:供 Turbolizer 可视化使用的 TurboFan 跟踪信息

文章:

  • V8 之旅

JIT 编译器:TurboFan

文档 | 博客

V8 为 TurboFan 提供了一个名为 Turbolizer 的可视化工具。

文章:

  • TurboFan 简介
Turbolizer 用法:
  1. 使用 --trace-turbo 运行 v8:d8 --trace-turbo foo.js
  2. 生成 json 文件,例如 turbo-foo-0.json
  3. 进入 v8/tools/turbolizer,按照 README.md 中的说明使用 npm 安装
  4. 启动目录服务,例如 python -m SimpleHTTPServer 8000
  5. 在浏览器中访问 localhost:8000 并打开 turbo-foo-0.json

Firefox(Gecko)

项目 | GitHub

Gecko 的 JavaScript 引擎是 SpiderMonkey。

SpiderMonkey

项目 | 源码 | 构建方法

源码
  • builtin

构建(Ubuntu 18.04):

$ wget -O bootstrap.py https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py && python bootstrap.py
$ git clone https://github.com/mozilla/gecko-dev.git && cd gecko-dev
$ cd js/src
$ autoconf2.13

# This name should end with "_DBG.OBJ" to make the version control system ignore it.
$ mkdir build_DBG.OBJ
$ cd build_DBG.OBJ
$ ../configure --enable-debug --disable-optimize
# Use "mozmake" on Windows
$ make -j 6
$ js/src/js

JIT 编译器:IonMonkey

项目

SpiderMonkey 为 IonMonkey 提供了一个名为 IonGraph 的可视化工具。

源码
  • jit

Safari(WebKit)

项目 | GitHub

WebKit 的 JavaScript 引擎是 JavaScriptCore(JSC)。

JavaScriptCore

项目 | Wiki | 源码

文章:

  • http://www.filpizlo.com/papers.html
源码
  • 运行时:Source/JavaScriptCore/runtime

构建(Ubuntu 18.04):

# sudo apt install libicu-dev python ruby bison flex cmake build-essential ninja-build git gperf
$ git clone git://git.webkit.org/WebKit.git && cd WebKit
$ Tools/gtk/install-dependencies
$ Tools/Scripts/build-webkit --jsc-only --debug
$ cd WebKitBuild/Release
$ LD_LIBRARY_PATH=./lib bin/jsc

JIT 编译器:LLInt + Baseline JIT + DFG JIT + FTL JIT

WebKit 拥有一个 4 层 JIT 编译器体系,体现了开销性能成本与性能收益之间的权衡。

文章:

  • WebKit JavaScript JIT 优化简介
  • B3 JIT 编译器介绍
源码
  • LLInt(低级解释器)
  • Baseline JIT
  • DFG JIT(数据流图 JIT)
  • FTL JIT(超光速即时编译器)

Edge(Blink/EdgeHTML)

项目 | GitHub

由于 Edge 已改用 Blink 和 Chromium 项目作为其渲染引擎,Edge 现在使用 v8。 最初,Edge 拥有自己的渲染引擎 EdgeHTML,它使用 ChakraCore 作为 JavaScript 引擎。

ChakraCore

GitHub | 构建方法

文档

  • 架构概述

源码

  • 运行时:Types
  • 运行时:Language

构建(Ubuntu 18.04):

# To build ChakraCore on Linux: (requires Clang 3.7+ and Python 2)
$ apt-get install -y git build-essential cmake clang libicu-dev libunwind8-dev
$ git clone https://github.com/Microsoft/ChakraCore && cd ChakraCore
$ ./build.sh --cc=/usr/bin/clang-3.9 --cxx=/usr/bin/clang++-3.9 --arch=amd64 --debug
$ out/Debug/ch

漏洞利用

漏洞利用概述

下载工具