Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
browser-pwn — Una raccolta aggiornata di risorse incentrate sullo sfruttamento dei browser. | Kitploit
Strumenti/GitHubGitHub/m1ghtym0/browser-pwn
ExploitFuzzingCTFPaper e RicercaApprendimento e FormazioneRisorse CurateBinary Exploitation
GitHubm1ghtym0/browser-pwn

browser-pwn

Una raccolta aggiornata di risorse incentrate sullo sfruttamento dei browser.

Vedi Repository
832114145 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Browser-Pwn

Il mondo dei browser è dominato da 4 attori principali:

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

Quanto segue è suddiviso in due parti:

  • Informazioni che aiutano a comprendere la loro architettura e implementazione e come compilarli dai sorgenti
  • Informazioni che aiutano a trovare la loro funzionalità che fa apparire la calcolatrice

Indice

  1. Motori
    • Overview
    • Chromium
    • Firefox
    • Safari
    • Edge
  2. Exploitation
    • Overview
    • Chromium
    • Firefox
    • Safari
    • Edge
  3. Tools
  4. JavaScript Docs

Motori

Engine-Overview

  • Javascript Engine Fundamentals: the good, the bad, and the ugly
  • Javascript Engine Fundamentals: Shapes and Inline Caches
  • JavaScript Engines - how do they even (Video)

Navigare tra i Sorgenti

Naturalmente puoi usare la tua configurazione preferita per navigare tra i sorgenti. Tuttavia, questi repository sono relativamente grandi e ho provato un paio di configurazioni diverse finché non ho trovato qualcosa che funzionasse per me. Quindi, se non hai già una buona configurazione, ecco un paio di esperienze che potrebbero aiutarti:

  • CTags (+Vim): Funziona bene per seguire riferimenti e chiamate. Se sei abituato a navigare in grandi alberi dei sorgenti con questa configurazione purista, può essere una buona opzione per te. Lo svantaggio è, ovviamente, la mancanza delle funzionalità che la maggior parte dei grandi IDE offre oggigiorno.
  • CLion: Uso i prodotti JetBrains per molte delle mie attività di programmazione, ma CLion non ha funzionato bene per me, soprattutto per seguire i riferimenti. Naturalmente potrebbe essere dovuto a problemi di configurazione.
  • Eclipse: Non lo uso da un po', ma si è rivelato una buona opzione. Sfortunatamente, richiede molte risorse perché l'indicizzatore possa scorrere il codice.
    • Qui c'è una descrizione della configurazione per il progetto Chromium, ma funziona in modo simile anche per gli altri progetti.
  • ccls+VSCode Questa è la migliore opzione per me finora. ccls è molto veloce nell'indicizzare i repository e funziona benissimo con VSCode. Puoi anche combinarlo con altri editor e IDE; vedi https://github.com/MaskRay/ccls/wiki/Editor-Configuration

Chromium (Blink)

Progetto | GitHub

Articoli:

  • What is Chromium? (DE)

Il motore JavaScript di Blink è V8.

V8

Progetto | GitHub | Sorgenti | How2Build

Build (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

Flag utili:

  • --print-opt-code: codice generato dal compilatore ottimizzante
  • --print-byte-code: bytecode generato dall'interprete
  • --trace-ic: i diversi tipi di oggetto che un call site incontra
  • --trace-opt e --trace-deopt: quali funzioni vengono (de)ottimizzate
  • --trace-turbo: tracciati TurboFan per la visualizzazione con Turbolizer

Articoli:

  • A tour of V8

Compilatore JIT: TurboFan

Documentazione | Blog

V8 fornisce una visualizzazione per TurboFan chiamata Turbolizer

Articoli:

  • Introduction to TurboFan
Utilizzo di Turbolizer:
  1. Esegui v8 con --trace-turbo: d8 --trace-turbo foo.js
  2. Genera i file json, es. turbo-foo-0.json
  3. Vai in v8/tools/turbolizer e installa con npm come descritto in README.md
  4. Servi la directory, es. python -m SimpleHTTPServer 8000
  5. Naviga su localhost:8000 e apri turbo-foo-0.json

Firefox (Gecko)

Progetto | GitHub

Il motore JavaScript di Gecko è Spidermonkey.

Spidermonkey

Progetto | Sorgenti | How2Build

Sorgenti
  • builtin

Build (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

Compilatore JIT: IonMonkey

Progetto

Spidermonkey fornisce una visualizzazione per IonMonkey chiamata IonGraph

Sorgenti
  • jit

Safari (Webkit)

Progetto | GitHub

Il motore JavaScript di Webkit è JavaScriptCore (JSC).

JavaScriptCore

Progetto | Wiki | Sorgenti

Articoli:

  • http://www.filpizlo.com/papers.html
Sorgenti
  • Runtime: Source/JavaScriptCore/runtime

Build (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

Compilatori JIT: LLInt+ Baseline JIT + DFG JIT + FTL JIT

WebKit ha un sistema di compilatori JIT a 4 livelli, che rappresenta il compromesso tra il costo prestazionale dell'overhead e il beneficio prestazionale.

Articoli:

  • Introduction to Webkit's JavaScript JIT Optimizations
  • Introducing the B3 JIT Compiler
Scarica lo strumento