Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ladder — Selbst gehostete Alternative zu 12ft.io. und 1ft.io. Proxy zum Entfernen von CORS-Headern und Modifizieren von HTML. | Kitploit
Tools/GitHubGitHub/everywall/ladder
Web-Proxys & AbfangenWebsicherheitAPI-SicherheitAnti-Bot
GitHubeverywall/ladder

ladder

Selbst gehostete Alternative zu 12ft.io. und 1ft.io. Proxy zum Entfernen von CORS-Headern und Modifizieren von HTML.

Repository anzeigen
8.8k5119vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Ladder

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

Ladder ist ein HTTP-Webproxy.

简体中文

Ladder ist ein Entwicklerwerkzeug zum Testen und Analysieren von Paywall-Implementierungen und des Content-Delivery-Verhaltens moderner Websites.

Es ermöglicht Entwicklern, Forschern und Publishern, verschiedene Client-Umgebungen (wie Browser und Crawler) zu simulieren und zu beobachten, wie Inhalte unter verschiedenen Bedingungen ausgeliefert werden. Das ist nützlich zum Debuggen von Paywall-Konfigurationen, zur Überprüfung von Zugriffskontrollen, HTTP-Headern und zur Sicherstellung konsistenten Verhaltens über verschiedene User Agents hinweg.

Ladder ist ausschließlich für legitime Test-, Forschungs- und Qualitätssicherungszwecke gedacht. Es sollte nur in Übereinstimmung mit geltendem Recht und den Nutzungsbedingungen der Zielwebsite verwendet werden.

screenshot

Wie es funktioniert

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

Funktionen

  • CORS-Header aus Antworten, Assets und Bildern entfernen/ändern ...
  • Andere Header entfernen/ändern (z. B. Content-Security-Policy)
  • Benutzerdefinierten Code (HTML, CSS, JavaScript) in die Seite entfernen/einfügen
  • Domainbasiertes Ruleset/Code anwenden, um Antwort / angeforderte URL zu ändern
  • Website durchsuchbar halten
  • API
  • RAW-HTML abrufen
  • Benutzerdefinierter User Agent
  • Benutzerdefinierte X-Forwarded-For-IP
  • Docker-Container (amd64, arm64)
  • Linux-Binärdatei
  • Mac-OS-Binärdatei
  • Windows-Binärdatei (ungetestet)
  • Basic Auth
  • Zugriffsprotokolle

Einschränkungen

Manche Websites liefern je nach Art des zugreifenden Clients unterschiedliche Inhalte aus (Cloaking) – zum Beispiel Suchmaschinen-Crawler gegenüber Standard-Webbrowsern. Ladder kann so konfiguriert werden, dass es verschiedene Client-Typen emuliert, um öffentlich zugängliche Inhalte für Test-, Automatisierungs- oder Forschungszwecke abzurufen.

Viele Websites setzen jedoch fortschrittliche Mechanismen ein, um automatisierten Zugriff einzuschränken, etwa Fingerprinting, Rate Limiting oder Verhaltensanalyse. Ladder umgeht solche Schutzmaßnahmen nicht und funktioniert möglicherweise nicht korrekt auf Diensten, die den Zugriff aktiv einschränken oder kontrollieren.

Es gibt Drittanbieter-Tools wie FlareSolverr, die unabhängig verwendet werden können, um Webseiten in einer Headless-Browser-Umgebung darzustellen. Diese Tools sind nicht Teil von Ladder, und ihre Verwendung kann rechtlichen und vertraglichen Beschränkungen unterliegen. Die Nutzer sind allein dafür verantwortlich, dass ihre Nutzung allen geltenden Vorschriften entspricht.

Installation

Warnung: Wenn Ihre Instanz öffentlich erreichbar sein wird, aktivieren Sie unbedingt Basic Auth. Dadurch wird verhindert, dass unautorisierte Benutzer Ihren Proxy verwenden. Wenn Sie Basic Auth nicht aktivieren, kann jeder Ihren Proxy zum Besuchen unangenehmer/illegaler Inhalte nutzen. Und Sie werden dafür verantwortlich gemacht.

Binärdatei

  1. Binärdatei hier herunterladen
  2. Binärdatei entpacken und ausführen: ./ladder -r https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml
  3. Browser öffnen (Standard: 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

Weitere Informationen finden Sie in der README.md im Unterverzeichnis helm-chart: README.md.

Verwendung

Browser

  1. Browser öffnen (Standard: http://localhost:8080)
  2. URL eingeben
  3. Enter drücken

Oder direkt, indem die URL an das Ende der Proxy-URL angehängt wird: http://localhost:8080/https://www.example.com

Oder ein Lesezeichen mit der folgenden URL erstellen:

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 ausführen

http://localhost:8080/ruleset

Konfiguration

Umgebungsvariablen

ALLOWED_DOMAINS und ALLOWED_DOMAINS_RULESET werden kombiniert. Sind beide leer, gelten keine Einschränkungen. | BASE_PATH | Basis-Pfad für den Proxy; nützlich, wenn der Proxy unter einem Unterpfad laufen soll (z. B. http://localhost:8080/proxy/) | `` |

Ruleset

Es ist möglich, benutzerdefinierte Regeln anzuwenden, um die Antwort oder die angeforderte URL zu ändern. Damit können unerwünschte Elemente von der Seite entfernt oder geändert werden. Das Ruleset ist eine YAML-Datei, ein Verzeichnis mit YAML-Dateien oder eine URL zu einer YAML-Datei, die eine Liste von Regeln für jede Domain enthält. Diese Regeln werden beim Start geladen.

Ein Basis-Ruleset ist in einem separaten Repository verfügbar: ruleset.yaml. Fügen Sie gerne eigene Regeln hinzu und erstellen Sie einen 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-Integration

Ladder unterstützt jetzt die Integration mit FlareSolverr, um den Cloudflare-Schutz und andere Anti-Bot-Herausforderungen zu umgehen. Dies ist besonders nützlich für Websites, die ausgefeilte Bot-Erkennungsmechanismen einsetzen.

FlareSolverr einrichten

  1. Mit Docker Compose (empfohlen):

    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 separat ausführen:

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

    Starten Sie Ladder dann mit der FlareSolverr-URL:

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

Regeln für FlareSolverr konfigurieren

Um FlareSolverr für bestimmte Domains zu verwenden, fügen Sie das Flag useFlareSolverr: true in Ihrem Ruleset hinzu:

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"

Anwendungsfälle

Die FlareSolverr-Integration ist besonders nützlich für:

  • Durch Cloudflare geschützte Websites: Websites, die Cloudflare-Anti-Bot-Herausforderungen verwenden
  • Websites mit JavaScript-Herausforderungen: Seiten, die für den Zugriff auf Inhalte die Ausführung von JavaScript erfordern
  • Dynamisches Laden von Inhalten: Websites, die Inhalte dynamisch über JavaScript laden
  • Erweiterte Bot-Erkennung: Websites, die ausgefeilte Fingerprinting- und Bot-Erkennungstechniken verwenden

Wichtige Hinweise

  • FlareSolverr erhöht die Latenz von Anfragen, da es Herausforderungen lösen muss
  • Aktivieren Sie useFlareSolverr nur für Domains, die es tatsächlich benötigen, um die Leistung zu erhalten
  • FlareSolverr benötigt mehr Ressourcen, da es einen Headless-Browser ausführt
  • Stellen Sie sicher, dass FlareSolverr läuft und erreichbar ist, bevor Sie es in Ihrem Ruleset aktivieren

Entwicklung

Um einen Entwicklungsserver unter http://localhost:8080 auszuführen:

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

Optional: Live-Reload-Entwicklungsserver mit cosmtrek/air

Installieren Sie air gemäß den Installationsanweisungen.

Führen Sie einen Entwicklungsserver unter http://localhost:8080 aus:

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

Dieses Projekt verwendet pnpm, um ein Stylesheet mit den Tailwind CSS-Klassen zu erstellen. Ändern Sie bei der lokalen Entwicklung Stile in form.html, führen Sie pnpm build aus, um ein neues Stylesheet zu generieren.

Tool herunterladen
  • Kann Tracking, Werbung und andere Drittinhalte beeinträchtigen
  • Den Proxy auf eine Liste von Domains beschränken
  • Ruleset für andere Ladder-Instanzen bereitstellen
  • Robots.txt-Test
  • Optionaler TOR-Proxy
  • Ein Schlüssel zum Teilen einer Proxy-URL
  • VariableBeschreibungWert
    PORTPort, auf dem der Server lauschen soll8080
    PREFORKMehrere Serverinstanzen startenfalse
    USER_AGENTZu emulierender User AgentMozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
    X_FORWARDED_FORIP-Adresse des Weiterleiters66.249.66.1
    USERPASSAktiviert Basic Auth, Format admin:123456``
    LOG_URLSAbgerufene URLs protokollierentrue
    DISABLE_FORMDeaktiviert das URL-Formular auf der Startseitefalse
    FORM_PATHPfad zu benutzerdefiniertem Formular-HTML``
    RULESETPfad oder URL zu einer Ruleset-Datei; akzeptiert lokale Verzeichnissehttps://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml oder /path/to/my/rules.yaml oder /path/to/my/rules/
    EXPOSE_RULESETEigenes Ruleset für andere Ladder-Instanzen bereitstellentrue
    ALLOWED_DOMAINSKommagetrennte Liste erlaubter Domains. Leer = keine Einschränkungen``
    ALLOWED_DOMAINS_RULESETDomains aus dem Ruleset erlauben. false = keine Einschränkungenfalse
    FLARESOLVERR_HOSTURL für den FlareSolverr-Dienst zum Cloudflare-Bypass (optional)http://localhost:8191