Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
browser-pwn — 브라우저 익스플로잇을 대상으로 하는 업데이트된 리소스 모음입니다. | Kitploit
도구/GitHubGitHub/m1ghtym0/browser-pwn
ExploitationFuzzingCTFPapers & ResearchLearning & EducationCurated ResourcesBinary Exploitation
GitHubm1ghtym0/browser-pwn

browser-pwn

브라우저 익스플로잇을 대상으로 하는 업데이트된 리소스 모음입니다.

저장소 보기
832114145년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Browser-Pwn

브라우저 세계는 4개의 주요 플레이어가 지배하고 있습니다:

  • Chromium/Chrome (Blink 엔진)
  • Firefox (Gecko 엔진)
  • Safari (WebKit 엔진)
  • Edge (Blink 엔진 (구 EdgeHTML 엔진)

다음 내용은 두 부분으로 나뉩니다:

  • 아키텍처와 구현을 이해하고 소스에서 빌드하는 데 도움이 되는 정보
  • 계산기 실행 기능을 찾는 데 도움이 되는 정보

목차

  1. 엔진
    • 개요
    • Chromium
    • Firefox
    • Safari
    • Edge
  2. 익스플로잇
    • 개요
    • Chromium
    • Firefox
    • Safari
    • Edge
  3. 도구
  4. JavaScript 문서

엔진

엔진 개요

  • JavaScript 엔진 기초: 좋은 것, 나쁜 것, 그리고 추한 것
  • JavaScript 엔진 기초: Shapes와 인라인 캐시
  • JavaScript 엔진 - 대체 어떻게 작동하는가 (영상)

소스 탐색

물론 소스를 탐색할 때 자신이 선호하는 설정을 사용할 수 있습니다. 하지만 이 저장소들은 비교적 크기가 크며, 저는 제게 맞는 설정을 찾을 때까지 몇 가지 다른 설정을 시도해 보았습니다. 따라서 아직 좋은 설정이 없다면, 도움이 될 만한 제 경험 몇 가지를 소개합니다:

  • CTags (+Vim): 참조 및 호출 추적에 잘 작동합니다. 이러한 순수한 설정으로 대규모 소스 트리를 탐색하는 데 익숙하다면 좋은 선택이 될 수 있습니다. 물론 단점은 요즘 대부분의 대형 IDE가 제공하는 기능이 없다는 점입니다.
  • CLion: 저는 많은 코딩 활동에 JetBrain 제품을 사용하지만, 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은 Turbolizer라는 TurboFan용 시각화 도구를 제공합니다.

기사:

  • 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는 IonGraph라는 IonMonkey용 시각화 도구를 제공합니다.

소스
  • jit

Safari (Webkit)

프로젝트 | GitHub

Webkit의 JavaScript 엔진은 JavaScriptCore (JSC)입니다.

JavaScriptCore

프로젝트 | 위키 | 소스

기사:

  • 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 (광속보다 빠른 JIT 컴파일러)

Edge (Blink/EdgeHTML)

프로젝트 | GitHub

Edge가 렌더링 엔진으로 Blink 및 Chromium 프로젝트로 전환한 이후, Edge는 V8을 사용하고 있습니다. 원래 Edge는 ChakraCore JavaScript 엔진을 사용하는 EdgeHTML이라는 자체 렌더링 엔진을 보유하고 있었습니다.

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

익스플로잇

익스플로잇 개요

도구 다운로드