Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
browser-pwn — مجموعة محدّثة من الموارد التي تستهدف استغلال المتصفحات. | Kitploit
أدوات/GitHubGitHub/m1ghtym0/browser-pwn
الاستغلالالاختبار العشوائيCTFالأوراق والأبحاثالتعلم والتعليمموارد منسقةاستغلال الملفات الثنائية
GitHubm1ghtym0/browser-pwn

browser-pwn

مجموعة محدّثة من الموارد التي تستهدف استغلال المتصفحات.

عرض المستودع
8321144منذ 5 سنواتتمت المراجعة من قبل 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. توثيق جافاسكربت

المحركات

نظرة عامة على المحركات

  • أساسيات محرك الجافاسكربت: الجيد والسيئ والقبيح
  • أساسيات محرك الجافاسكربت: الأشكال والذاكرة المؤقتة المضمّنة (Inline Caches)
  • محركات الجافاسكربت - كيف تعمل أصلًا (فيديو)
  • تصفح المصادر

    بالطبع يمكنك استخدام إعدادك المفضل لتصفح المصادر. ومع ذلك، فإن هذه المستودعات كبيرة نسبيًا وقد جربت عدة إعدادات مختلفة حتى وجدت ما يناسبني. لذا إذا لم يكن لديك إعداد جيد بالفعل، فإليك بعض تجاربي التي قد تساعدك:

    • CTags (+Vim): تعمل بشكل جيد مع تتبع المرجعيات والاستدعاءات. إذا كنت معتادًا على التنقل في أشجار المصادر الكبيرة بهذا الإعداد البسيط، فقد يكون خيارًا جيدًا لك. الجانب السلبي بالطبع هو نقص الميزات التي تأتي بها معظم بيئات التطوير الكبيرة هذه الأيام.
    • CLion: أستخدم منتجات JetBrains في الكثير من أنشطتي البرمجية، لكن CLion لم يعمل جيدًا معي، خاصةً فيما يتعلق بتتبع المرجعيات. بالطبع قد يكون ذلك بسبب مشكلات في الإعداد.
    • Eclipse: لم أستخدمه منذ فترة، لكنه اتضح أنه خيار جيد. لسوء الحظ، يتطلب الكثير من الموارد لكي يتمكن المفهرس من معالجة الكود.
      • هنا وصف إعداد لمشروع Chromium، لكنه يعمل بطريقة مماثلة للمشاريع الأخرى أيضًا.
    • ccls+VSCode هذا هو الخيار الأفضل بالنسبة لي حتى الآن. ccls سريع جدًا في فهرسة المستودعات ويعمل بشكل رائع مع VSCode. يمكنك أيضًا دمجه مع محررات وبيئات تطوير أخرى انظر https://github.com/MaskRay/ccls/wiki/Editor-Configuration

    Chromium (Blink)

    المشروع | GitHub

    مقالات:

    • ما هو Chromium؟ (DE)

    محرك الجافاسكربت الخاص بـ Blink هو V8.

    V8

    المشروع | GitHub | المصدر | How2Build

    البناء (Ubuntu 18.04):

    root@kitploit:~
    $ 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: تتبعات TurboFan لعرضها في أداة التصور Turbolizer

    مقالات:

    • جولة في V8

    مترجم JIT: TurboFan

    التوثيق | المدونة

    يوفر V8 أداة تصور لـ TurboFan تُسمى Turbolizer

    مقالات:

    • مقدمة إلى TurboFan
    استخدام Turbolizer:
    1. شغّل v8 مع --trace-turbo: d8 --trace-turbo foo.js
    2. يُنشئ ملفات json مثل turbo-foo-0.json
    3. انتقل إلى v8/tools/turbolizer وقم بالتثبيت باستخدام npm كما هو موضح في README.md
    4. قم بتشغيل خادم للدليل مثل python -m SimpleHTTPServer 8000
    5. تصفح localhost:8000 وافتح turbo-foo-0.json

    Firefox (Gecko)

    المشروع | GitHub

    محرك الجافاسكربت الخاص بـ Gecko هو Spidermonkey.

    Spidermonkey

    المشروع | المصدر | How2Build

    المصدر
    • builtin

    البناء (Ubuntu 18.04):

    root@kitploit:~
    $ 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 هو JavaScriptCore (JSC).

    JavaScriptCore

    المشروع | الويكي | المصدر

    مقالات:

    • http://www.filpizlo.com/papers.html
    المصدر
    • Runtime: Source/JavaScriptCore/runtime

    البناء (Ubuntu 18.04):

    root@kitploit:~
    # 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 نظام مترجم JIT من 4 طبقات، يمثل المفاضلة بين تكلفة الأداء الإضافية وفائدة الأداء.

    مقالات:

    • مقدمة إلى تحسينات JIT لجافاسكربت WebKit
    • تقديم مترجم B3 JIT
    المصدر
    • LLInt (المفسِّر منخفض المستوى)
    • Baseline JIT
    • DFG JIT (مخطط تدفق البيانات)
    • FTL JIT (مترجم Just In Time الأسرع من الضوء)

    Edge (Blink/EdgeHTML)

    المشروع | GitHub

    منذ أن تحول Edge إلى Blink ومشروع Chromium كمحرك عرض له، أصبح Edge يستخدم v8. في الأصل، كان لدى Edge محرك عرض خاص به يُدعى EdgeHTML، وكان يستخدم محرك الجافاسكربت ChakraCore.

    ChakraCore

    GitHub | How2Build

    التوثيق

    • نظرة عامة على البنية

    المصدر

    • Runtime: الأنواع
    • Runtime: اللغة

    البناء (Ubuntu 18.04):

    root@kitploit:~
    # 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
    

    الاستغلال

    نظرة عامة على الاستغلال

    • Saelo: مهاجمة محركات الجافاسكربت
    • Awesome-Browser-Exploitation
    • مهاجمة تطبيقات WebKit (شرائح)
    • Saelo: مهاجمة مترجمات JIT من جانب العميل - BlackHat 2018
      • الفيديو
      • الشرائح
    • j0nathanj: من الصفر إلى ZeroDay (اكتشاف ثغرة Zero Day في Chakra)
      • الفيديو الشرائح
    • Saelo: Fuzzili - التزويد العشوائي (الموجَّه) لمحركات الجافاسكربت
      • الفيديو
      • الشرائح

    Chromium Pwn

    مقالات

    • استغلال TurboFan عبر إزالة فحص الحدود
    • saelo: استغلال الأخطاء المنطقية في محركات جافاسكربت JIT
      • مقال Phrack
      • شرائح 41con 19'

    تحديات CTF

    • 34c3: v9
      • المصادر
      • شرح (سكربت الاستغلال)
    • 35c3: Krautflare
      • الملفات
      • شرح
      • شرح
    • CSAW-Finals-2018: ES1337
      • الملفات + الشرح
    • Plaid CTF 2018: Roll a dice
      • الملفات
      • شرح
      • شرح
    • Google CTF Finals 2018: Just In Time
      • الملفات + الشرح
      • الشرائح
      • شرح
    • *CTF 2019: oob-v8
      • الملفات
      • شرح
      • شرح
      • شرح
    • RealWorldCTF Quals 2019: accessible
      • الملفات
      • شرح

    العالم الحقيقي

    • MobilePwn2Own 2013 - Chrome على أندرويد
    • https://halbecaf.com/2017/05/24/exploiting-a-v8-oob-write/
    • niklasb: استغلال IPC في Chrome
      • الفيديو
      • الشرائح
    • شرح CVE-2019-5782
    • CVE-2019-5790
    • تحليل ثغرة تنفيذ التعليمات البرمجية عن بُعد CVE-2019-5786 في Chrome

    التحصين والتخفيف

    • تحصين الكومة

    Firefox Pwn

    مقالات

    • التجريب مع SpiderMonkey
    • OR'LYEH؟ الظل فوق Firefox
    • رحلة في IonMonkey: تحديد السبب الجذري لـ CVE-2019-9810

    تحديات CTF

    • 33c3: Feuerfuchs
      • المصادر
      • شرح
      • الشرح + البناء
    • Blaze 2018: blazefox
      • المصادر
      • شرح
      • شرح (سكربت الاستغلال)
      • شرح (سكربت الاستغلال)
      • البناء + الشرح
    • 35c3 FunFox
      • المصادر

    العالم الحقيقي

    • مقدمة في استغلال SpiderMonkey
      • مقال
    • الاستخدام بعد التحرير (Use-after-free) في Spidermonkey (Beta 53)
      • مقال
      • محاضرة
      • الشرائح
    • https://saelo.github.io/posts/firefox-script-loader-overflow.html
    • الاستخدام بعد التحرير (Use-after-free) في SpiderMonkey (64.0a1)
      • مقال
    • CVE-2019-11707 الارتباك في الأنواع (Type Confusion)
      • شرح
      • التقرير
    • CVE-2019-11708 & CVE-2019-9810
      • شرح

    Safari Pwn

    تحديات CTF

    • RealWorldCTF 2018: محرك للمبتدئين
      • الملفات
    • 35c3: WebKid
      • المصادر
      • شرح

    العالم الحقيقي

    • http://www.phrack.org/papers/attacking_javascript_engines.html
      • المصدر
      • الشرح + البناء
    • التزويد العشوائي (Fuzzing) لـ WebKit وتحليل CVE-2019-8375
    • شرح CVE-2017-2446
    • https://saelo.github.io/posts/jsc-typedarray.slice-infoleak.html
    • https://github.com/saelo/pwn2own2018/tree/master/stage0
    • https://github.com/LinusHenze/WebKit-RegEx-Exploit
    • https://github.com/W00dL3cs/exploit_playground/tree/master/JavaScriptCore

    التحصين والتخفيف

    • تحصين الكومة
    • CagedPtr المصدر ومثال ArrayBuffer

    Edge

    مقالات

    • bkth: حكاية ثغرات Chakra
    • bkth: مهاجمة Edge من خلال مترجم الجافاسكربت
      • الفيديو
      • الشرائح

    تحديات CTF

    • Plaid 2017: chakrazy
      • شرح
    • N1CTF 2018: Chakra
      • الملفات
    • RealWorldCTF Quals 2019: Appetizer
      • الملفات
    • Trend Micro CTF 2019: ChakraCore 400
      • شرح
      • شرح
      • الاستغلال

    العالم الحقيقي

    • bkth, S0rryMyBad: ثغرة غير JIT، استغلال JIT

    الأدوات

    مكتبات:

    • pwnjs (مكتبة جافاسكربت لاستغلال المتصفحات)

    أدوات مساعدة

    • int64.js
    • utils.js

    التصحيح

    • shadow إطار عمل لاستغلال كومة jemalloc (مُخصِّص الذاكرة المستخدم من قبل Firefox)

    توثيق جافاسكربت (ECMAScript)

    • الأنواع والقيم
    • الكائنات
    • خصائص الكائنات
    تنزيل الأداة