Automate
Automate sendet eine Anfragevorlage vielfach mit kontrollierten Payload-Variationen, damit du Parameter enumerieren, Eingaben fuzztesten oder Zugriffskontrollen in größerem Umfang prüfen kannst.
Eine Sitzung erstellen
- Öffne eine Anfrage im HTTP-Verlauf oder in Replay.
- Klicke mit der rechten Maustaste auf die Anfrage und wähle im HTTP-Verlauf Senden an > Automate oder nutze An Automate senden in der Werkzeugleiste.
- Die Anfrage öffnet sich als Sitzungsvorlage. Alle weiteren Einstellungen gelten für diese Vorlage.
Payload-Positionen
Payload-Positionen markieren, wo Payloads eingefügt werden. Ogma ersetzt jede Markierung pro Anfrage durch einen Payload-Wert.
- Markiere Text im Anfrageeditor und klicke auf Auswahl markieren, um eine Positionsmarkierung hinzuzufügen.
- Entferne eine Markierung, indem du ihren Griff anklickst und Entfernen wählst.
- Mehrere Positionen werden unterstützt. Ihr Verhalten hängt vom Angriffsmodus ab.
Angriffsmodi
| Modus | Verhalten |
|---|---|
| Sniper | Jeweils eine Position. Durchläuft jede Payload nacheinander an jeder Position. Die Gesamtzahl der Anfragen entspricht Payload-Anzahl mal Positionsanzahl. |
| Battering Ram | Verwendet denselben Payload-Wert gleichzeitig an allen Positionen. |
| Pitchfork | Durchläuft mehrere Positionen parallel. Verknüpft die erste Payload aus Liste A mit der ersten aus Liste B usw. Endet, wenn die kürzeste Liste erschöpft ist. |
| Cluster Bomb | Jede Kombination über alle Positionen. Die Anfragezahl entspricht dem Produkt aller Listenlängen. Verwende kleine Listen. |
| Sequenziell | Extrahiert einen konfigurierten Wert aus jeder Antwort und fügt ihn in die nächste Anfrage ein. Konfiguriere vor dem Start Extraktor, Zielposition und Iterationsgrenze. |
Payload-Quellen
| Quelle | Beschreibung |
|---|---|
| Wortliste | Lade eine durch Zeilenumbrüche getrennte Datei oder füge Werte direkt ein. |
| Zahlenbereich | Erzeuge einen Zahlenbereich mit konfigurierbarem Anfang, Ende und Schrittweite. |
| Null (leer) | Ersetzt die Position für die konfigurierte Iterationsanzahl durch eine leere Zeichenfolge; der ursprünglich markierte Text bleibt nicht erhalten. |
| Liste | Gib Werte direkt ohne Datei ein. |
Antwortfilter (Matcher)
Matcher kennzeichnen Ergebniszeilen, die eine Bedingung erfüllen. Sie filtern keine Zeilen, sondern ergänzen pro Matcher eine boolesche Spalte.
- Füge mit + Antwortfilter einen Matcher hinzu.
- Beschreibe die Bedingung mit KI in natürlicher Sprache oder konfiguriere sie manuell.
| Matcher-Typ | Trifft zu, wenn |
|---|---|
| Status | Der Antwortcode einem gegebenen Wert entspricht oder davon abweicht. |
| Größe | Die Länge des Antwort-Bodys innerhalb eines angegebenen Bereichs liegt. |
| Body-Inhalt | Der Antwort-Body eine Zeichenfolge enthält oder einer Zeichenfolge bzw. einem regulären Ausdruck entspricht. |
Stoppbedingungen
Eine Stoppbedingung hält die Ausführung an, wenn ein Matcher anschlägt.
- Konfiguriere eine Stoppbedingung mit Antwortstatus oder -größe, einem Vergleichsoperator und einem Wert.
- Ein passendes Ergebnis pausiert den Lauf; bereits laufende Anfragen können noch abgeschlossen werden.
Dies ist nützlich, wenn du nur das erste erfolgreiche Ergebnis brauchst, etwa gültige Zugangsdaten oder eine umgangene Prüfung.
Extraktoren
Extraktoren entnehmen jeder Antwort einen Wert und speichern ihn als benannte Spalte.
- Nutze Extraktoren, um CSRF-Tokens, Sitzungs-IDs oder Nonces für verkettete Anfragen zu erfassen.
- Beschreibe das Extraktionsziel mit KI oder konfiguriere Body-Regex, Body-Grep oder Antwortheader-Extraktion manuell.
- Extrahierte Werte erscheinen als Spalten in der Ergebnistabelle.
- Konfiguriere im sequenziellen Modus ausdrücklich den für die Verkettung verwendeten Extraktor; ein an eine andere Sitzung gesendetes Ergebnis richtet dort nicht automatisch eine Token-Extraktion ein.
Ergebnistabelle
Jede abgeschlossene Anfrage erzeugt eine Zeile.
| Spalte | Beschreibung |
|---|---|
| # | Laufende Nummer der Anfrage. |
| Status | HTTP-Antwortcode. |
| Größe | Länge des Antwort-Bodys in Bytes. |
| Zeit | Umlaufzeit in Millisekunden. |
| Payload | Der oder die für diese Anfrage verwendeten Payload-Werte. |
| Matcher-Spalten | Eine boolesche Spalte pro konfiguriertem Matcher. |
| Extraktor-Spalten | Eine Spalte mit extrahiertem Wert pro konfiguriertem Extraktor. |
Klicke auf eine Zeile, um die vollständige Anfrage und Antwort im Inspektor zu öffnen.
Ergebnisse filtern
Gib einen HTTPQL-Ausdruck in die Filter-Leiste oberhalb der Ergebnistabelle ein, um die angezeigten Zeilen einzugrenzen. Beispiel:
text
result.status.eq:200 AND result.len.gt:500Automate-Abfragen verwenden den Namensraum result.*. Für eine extrahierte Spalte verwendest du ihr Feld result.extract.<name>. Die Felder req.* und resp.* des HTTP-Verlaufs sind nicht mit Automate-Ergebnisfiltern austauschbar.
KI-Unterstützung
Die Schaltfläche KI erscheint neben den Konfigurationsfeldern für Matcher und Extraktoren. Beschreibe in natürlicher Sprache, was du erkennen oder extrahieren möchtest. Ogma erzeugt die Konfiguration. Prüfe das Ergebnis vor dem Speichern.
Ein Ergebnis anderswohin senden
Klicke mit der rechten Maustaste auf eine Ergebniszeile für:
- An Replay senden - öffnet die konkrete Anfrage und Antwort in Replay zur manuellen Nachprüfung.
- An Automate senden (neue Sitzung) - verwendet die Anfrage der Ergebniszeile als Vorlage für eine neue Sitzung.
- Als cURL kopieren - kopiert die Anfrage als curl-Befehl.