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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ladder — بديل مستضاف ذاتيًا لكلٍ من 12ft.io و 1ft.io. وكيل (بروكسي) لإزالة ترويسات CORS وتعديل HTML. | Kitploit
أدوات/GitHubGitHub/everywall/ladder
بروكسيات الويب والاعتراضأمن الويبأمن واجهات برمجة التطبيقاتمكافحة الروبوتات
GitHubeverywall/ladder

ladder

بديل مستضاف ذاتيًا لكلٍ من 12ft.io و 1ft.io. وكيل (بروكسي) لإزالة ترويسات CORS وتعديل HTML.

عرض المستودع
8.8k5119منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Ladder

License go.mod Go version GitHub tag (with filter) GitHub (Pre-)Release Date GitHub Downloads all releases GitHub Build Status (with event)

Ladder هو وكيل ويب HTTP.

简体中文

Ladder هو أداة للمطورين لاختبار وتحليل تطبيقات أنظمة الدفع (paywalls) وسلوك توصيل المحتوى على المواقع الحديثة.

يتيح للمطورين والباحثين والناشرين محاكاة بيئات عملاء مختلفة (مثل المتصفحات وبرامج الزحف) وملاحظة كيفية تقديم المحتوى في ظروف متنوعة. وهذا يجعله مفيدًا لتصحيح أخطاء إعدادات أنظمة الدفع، والتحقق من ضوابط الوصول، وترويسات HTTP، وضمان سلوك متناسق عبر وكلاء المستخدم المختلفين.

صُمم Ladder لأغراض الاختبار والبحث وضمان الجودة المشروعة فقط. ويجب استخدامه فقط بما يتوافق مع القوانين المعمول بها وشروط خدمة الموقع المستهدف.

screenshot

كيف يعمل

root@kitploit:~
sequenceDiagram
    client->>+ladder: GET
    ladder-->>ladder: apply RequestModifications
    ladder->>+website: GET
    website->>-ladder: 200 OK
    ladder-->>ladder: apply ResultModifications
    ladder->>-client: 200 OK

الميزات

  • إزالة/تعديل ترويسات CORS من الاستجابات والأصول والصور ...
  • إزالة/تعديل الترويسات الأخرى (مثل Content-Security-Policy)
  • إزالة/حقن كود مخصص (HTML, CSS, JavaScript) في الصفحة
  • تطبيق قواعد/كود مبنية على النطاق لتعديل الاستجابة / عنوان URL المطلوب
  • إبقاء الموقع قابلًا للتصفح
  • API
  • جلب HTML الخام (RAW)
  • وكيل مستخدم مخصص
  • عنوان IP مخصص لـ X-Forwarded-For
  • حاوية Docker (amd64, arm64)
  • ملف ثنائي لينكس
  • ملف ثنائي لنظام Mac OS
  • ملف ثنائي لنظام Windows (غير مُختبَر)
  • المصادقة الأساسية (Basic Auth)
  • سجلات الوصول

القيود

تقدم بعض المواقع محتوى مختلفًا (إخفاء/Cloaking) اعتمادًا على نوع العميل الذي يصل إليها (على سبيل المثال، برامج زحف محركات البحث مقابل متصفحات الويب القياسية). يمكن تكوين Ladder لمحاكاة أنواع عملاء مختلفة من أجل استرجاع المحتوى المتاح للعامة لأغراض الاختبار أو الأتمتة أو البحث.

ومع ذلك، تنفذ العديد من المواقع آليات متقدمة لتقييد الوصول الآلي، مثل البصمة الرقمية (fingerprinting)، أو تحديد المعدل (rate limiting)، أو التحليل السلوكي. لا يتجاوز Ladder هذه الحمايات وقد لا يعمل بشكل صحيح على الخدمات التي تقيد الوصول أو تتحكم فيه بنشاط.

توجد أدوات تابعة لجهات خارجية مثل FlareSolverr ويمكن استخدامها بشكل مستقل لعرض صفحات الويب في بيئة متصفح بدون واجهة رسومية (headless). هذه الأدوات ليست جزءًا من Ladder، وقد يخضع استخدامها لقيود قانونية وتعاقدية. يتحمل المستخدمون وحدهم مسؤولية ضمان امتثال استخدامهم لجميع اللوائح المعمول بها.

التثبيت

تحذير: إذا كان مثيلك (instance) سيكون متاحًا للجمهور، فتأكد من تفعيل المصادقة الأساسية (Basic Auth). سيمنع ذلك المستخدمين غير المصرح لهم من استخدام وكيلك. إذا لم تفعّل المصادقة الأساسية، يمكن لأي شخص استخدام وكيلك لتصفح محتوى سيئ/غير قانوني. وستُحمَّل المسؤولية عن ذلك.

الملف الثنائي

  1. نزّل الملف الثنائي من هنا
  2. فك الضغط وشغّل الملف الثنائي ./ladder -r https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml
  3. افتح المتصفح (الافتراضي: http://localhost:8080)

Docker

root@kitploit:~
docker run -p 8080:8080 -d --env RULESET=https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml --name ladder ghcr.io/everywall/ladder:latest

Docker Compose

root@kitploit:~
curl https://raw.githubusercontent.com/everywall/ladder/main/docker-compose.yaml --output docker-compose.yaml
docker-compose up -d

Helm

انظر README.md في المجلد الفرعي helm-chart لمزيد من المعلومات.

الاستخدام

المتصفح

  1. افتح المتصفح (الافتراضي: http://localhost:8080)
  2. أدخل عنوان URL
  3. اضغط Enter

أو بشكل مباشر بإلحاق عنوان URL بنهاية عنوان الوكيل: http://localhost:8080/https://www.example.com

أو أنشئ إشارة مرجعية (bookmark) بالعنوان التالي:

root@kitploit:~
javascript:window.location.href="http://localhost:8080/"+location.href

API

root@kitploit:~
curl -X GET "http://localhost:8080/api/https://www.example.com"

RAW

http://localhost:8080/raw/https://www.example.com

تشغيل مجموعة القواعد (Ruleset)

http://localhost:8080/ruleset

الإعدادات

متغيرات البيئة

ALLOWED_DOMAINS و ALLOWED_DOMAINS_RULESET يتم دمجهما معًا. إذا كان كلاهما فارغًا، فلن تُطبَّق أي قيود. | BASE_PATH | المسار الأساسي للوكيل، مفيد إذا كنت تريد تشغيل الوكيل على مسار فرعي (مثل: http://localhost:8080/proxy/) | `` |

مجموعة القواعد (Ruleset)

من الممكن تطبيق قواعد مخصصة لتعديل الاستجابة أو عنوان URL المطلوب. يمكن استخدام ذلك لإزالة عناصر غير مرغوب فيها أو تعديل عناصر من الصفحة. مجموعة القواعد عبارة عن ملف YAML، أو مجلد يحتوي على ملفات YAML، أو عنوان URL لملف YAML يحتوي على قائمة قواعد لكل نطاق. يتم تحميل هذه القواعد عند بدء التشغيل.

توجد مجموعة قواعد أساسية متاحة في مستودع منفصل ruleset.yaml. لا تتردد في إضافة قواعدك الخاصة وإنشاء طلب سحب (pull request).

root@kitploit:~
- domain: example.com          # Includes all subdomains
  domains:                     # Additional domains to apply the rule
    - www.example.de
    - www.beispiel.de
  headers:
    x-forwarded-for: none      # override X-Forwarded-For header or delete with none
    referer: none              # override Referer header or delete with none
    user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
    content-security-policy: script-src 'self'; # override response header
    cookie: privacy=1
  regexRules:
    - match: <script\s+([^>]*\s+)?src="(/)([^"]*)"
      replace: <script $1 script="/https://www.example.com/$3"
  injections:
    - position: head # Position where to inject the code
      append: |      # possible keys: append, prepend, replace
        <script>
          window.localStorage.clear();
          console.log("test");
          alert("Hello!");
        </script>
- domain: www.anotherdomain.com # Domain where the rule applies
  useFlareSolverr: false        # Use FlareSolverr for Cloudflare bypass (optional, default: false)
  paths:                        # Paths where the rule applies
    - /article
  googleCache: false            # Use Google Cache to fetch the content
  regexRules:                   # Regex rules to apply
    - match: <script\s+([^>]*\s+)?src="(/)([^"]*)"
      replace: <script $1 script="/https://www.example.com/$3"
  injections:
    - position: .left-content article .post-title # Position where to inject the code into DOM
      replace: | 
        <h1>My Custom Title</h1>
    - position: .left-content article # Position where to inject the code into DOM
      prepend: | 
        <h2>Subtitle</h2>
- domain: demo.com
  headers:
    content-security-policy: script-src 'self';
    user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
  urlMods:              # Modify the URL
    query:              
      - key: amp        # (this will append ?amp=1 to the URL)
        value: 1 
    domain:             
      - match: www      # regex to match part of domain
        replace: amp    # (this would modify the domain from www.demo.de to amp.demo.de)
    path:               
      - match: ^        # regex to match part of path
        replace: /amp/  # (modify the url from https://www.demo.com/article/ to https://www.demo.de/amp/article/)

تكامل FlareSolverr

يدعم Ladder الآن التكامل مع FlareSolverr لتجاوز حماية Cloudflare والتحديات الأخرى لمكافحة الروبوتات. وهذا مفيد بشكل خاص للمواقع التي تستخدم آليات متطورة لكشف الروبوتات.

إعداد FlareSolverr

  1. استخدام Docker Compose (موصى به):

    root@kitploit:~
    # docker-compose.yaml
    services:
      ladder:
        image: ghcr.io/everywall/ladder:latest
        ports:
          - "8080:8080"
        environment:
          - RULESET=https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml
          # - FLARESOLVERR_HOST=http://flaresolverr:8191
        depends_on:
          - flaresolverr
      
      flaresolverr:
        image: ghcr.io/flaresolverr/flaresolverr:latest
        ports:
          - "8191:8191"
        environment:
          - LOG_LEVEL=info
    
  2. تشغيل FlareSolverr بشكل منفصل:

    root@kitploit:~
    docker run -d \
      --name flaresolverr \
      -p 8191:8191 \
      ghcr.io/flaresolverr/flaresolverr:latest
    

    ثم ابدأ تشغيل Ladder مع عنوان URL الخاص بـ FlareSolverr:

    root@kitploit:~
    FLARESOLVERR_HOST=http://localhost:8191 ./ladder
    

تكوين القواعد لـ FlareSolverr

لاستخدام FlareSolverr لنطاقات محددة، أضف العلم useFlareSolverr: true في مجموعة القواعد الخاصة بك:

root@kitploit:~
# Example ruleset with FlareSolverr
- domain: cloudflare-protected-site.com
  useFlareSolverr: true  # Enable FlareSolverr for this domain
  headers:
    user-agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
    accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"

# Regular site without FlareSolverr
- domain: regular-site.com
  headers:
    user-agent: "Custom User Agent 1.0"

حالات الاستخدام

يعتبر تكامل FlareSolverr مفيدًا بشكل خاص في:

  • المواقع المحمية بواسطة Cloudflare: المواقع التي تستخدم تحديات Cloudflare لمكافحة الروبوتات
  • المواقع التي تستخدم تحديات JavaScript: الصفحات التي تتطلب تنفيذ JavaScript للوصول إلى المحتوى
  • تحميل المحتوى الديناميكي: المواقع التي تحمّل المحتوى ديناميكيًا عبر JavaScript
  • كشف الروبوتات المتقدم: المواقع التي تستخدم تقنيات متطورة للبصمة الرقمية وكشف الروبوتات

ملاحظات مهمة

  • يضيف FlareSolverr زمن استجابة إضافيًا للطلبات لأنه يحتاج إلى حل التحديات
  • قم بتمكين useFlareSolverr فقط للنطاقات التي تحتاجه فعليًا للحفاظ على الأداء
  • يتطلب FlareSolverr موارد أكثر لأنه يشغّل متصفحًا بدون واجهة رسومية
  • تأكد من أن FlareSolverr قيد التشغيل ويمكن الوصول إليه قبل تمكينه في مجموعة القواعد الخاصة بك

التطوير

لتشغيل خادم تطوير على http://localhost:8080:

root@kitploit:~
echo "dev" > handlers/VERSION
RULESET="./ruleset.yaml" go run cmd/main.go

اختياري: خادم تطوير بإعادة التحميل المباشر مع cosmtrek/air

ثبّت air وفقًا لتعليمات التثبيت.

شغّل خادم تطوير على http://localhost:8080:

root@kitploit:~
air # or the path to air if you haven't added a path alias to your .bashrc or .zshrc

يستخدم هذا المشروع pnpm لبناء ورقة أنماط مع فئات Tailwind CSS. للتطوير المحلي، إذا عدّلت الأنماط في form.html، قم بتشغيل pnpm build لإنشاء ورقة أنماط جديدة.

تنزيل الأداة
  • قد يكسر التتبع والإعلانات ومحتوى الأطراف الثالثة
  • قصر الوكيل على قائمة نطاقات
  • إتاحة مجموعة القواعد (Ruleset) لنسخ Ladder الأخرى
  • اختبار Robots.txt
  • وكيل TOR اختياري
  • مفتاح لمشاركة رابط تمت بروكسته
  • المتغيرالوصفالقيمة
    PORTالمنفذ الذي سيستمع عليه8080
    PREFORKتشغيل عدة مثيلات للخادمfalse
    USER_AGENTوكيل المستخدم الذي سيتم محاكاتهMozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
    X_FORWARDED_FORعنوان إعادة توجيه IP66.249.66.1
    USERPASSيفعّل المصادقة الأساسية، الصيغة admin:123456``
    LOG_URLSتسجيل عناوين URL التي تم جلبهاtrue
    DISABLE_FORMيعطّل نموذج URL في الواجهة الأماميةfalse
    FORM_PATHالمسار إلى نموذج HTML مخصص``
    RULESETمسار أو عنوان URL لملف مجموعة القواعد، يقبل المجلدات المحليةhttps://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml أو /path/to/my/rules.yaml أو /path/to/my/rules/
    EXPOSE_RULESETجعل مجموعة القواعد الخاصة بك متاحة لنسخ Ladder أخرىtrue
    ALLOWED_DOMAINSقائمة مفصولة بفواصل بالنطاقات المسموح بها. فارغ = لا قيود``
    ALLOWED_DOMAINS_RULESETالسماح بالنطاقات من مجموعة القواعد. false = لا قيودfalse
    FLARESOLVERR_HOSTعنوان URL لخدمة FlareSolverr لتجاوز Cloudflare (اختياري)http://localhost:8191