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 レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

ブラウザPwn

ブラウザの世界は、次の4つの主要プレイヤーによって支配されています:

  • Chromium/Chrome (Blink-Engine)
  • Firefox (Gecko-Engine)
  • Safari (WebKit-Engine)
  • Edge (Blink-Engine (旧 EdgeHTML-Engine)

以下は2つのパートに分かれています:

  • それらのアーキテクチャと実装を理解し、ソースからビルドする方法に役立つ情報
  • 計算機(calc)を起動させる機能を見つけるのに役立つ情報

目次

  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とは? (DE)

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. turbo-foo-0.json などの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 (Low Level Interpreter)
  • Baseline JIT
  • DFG JIT (Data Flow Graph JIT)
  • FTL JIT (Faster Than Light Just In Time compiler)

Edge (Blink/EdgeHTML)

プロジェクト | GitHub

EdgeはレンダリングエンジンとしてBlinkとChromiumプロジェクトに切り替えたため、現在は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

エクスプロイト

エクスプロイト概要

ツールをダウンロード