Automazione
Automazione invia un modello di richiesta molte volte con variazioni controllate dei payload, consentendo di enumerare parametri, eseguire fuzzing degli input o testare i controlli di accesso su larga scala.
Creare una sessione
- Apri una richiesta in Cronologia HTTP o Ripetizione.
- Fai clic con il pulsante destro sulla richiesta e scegli Invia ad Automazione, oppure usa il pulsante nella barra degli strumenti.
- La richiesta si apre come modello della sessione. Tutte le configurazioni successive si applicano a questo modello.
Posizioni dei payload
Le posizioni dei payload indicano dove vengono inseriti. Ogma sostituisce ogni marcatore con un valore di payload per ciascuna richiesta.
- Seleziona il testo nell'editor delle richieste e fai clic su Contrassegna selezione per aggiungere un marcatore di posizione.
- Rimuovi un marcatore facendo clic sul suo controllo e selezionando Rimuovi.
- Sono supportate più posizioni. Il loro comportamento dipende dalla modalità di attacco.
Modalità di attacco
| Modalità | Comportamento |
|---|---|
| Sniper | Una posizione alla volta. Prova ciascun payload in ogni posizione, in sequenza. Il totale delle richieste è pari al numero di payload moltiplicato per il numero di posizioni. |
| Battering Ram | Usa lo stesso valore di payload in tutte le posizioni contemporaneamente. |
| Pitchfork | Itera su più posizioni in parallelo. Abbina il primo payload dell'elenco A al primo dell'elenco B, e così via. Si arresta quando l'elenco più corto è esaurito. |
| Cluster Bomb | Tutte le combinazioni tra tutte le posizioni. Il numero di richieste è pari al prodotto delle lunghezze di tutti gli elenchi. Usa questa modalità con elenchi piccoli. |
| Sequenziale | Estrae un valore configurato da ogni risposta e lo inserisce nella richiesta successiva. Configura l'estrattore, la posizione di destinazione e il limite di iterazioni prima di iniziare. |
Origini dei payload
| Origine | Descrizione |
|---|---|
| Elenco di parole | Carica un file con valori separati da interruzioni di riga o incolla direttamente i valori. |
| Numeri | Genera un intervallo numerico con inizio, fine e passo configurabili. |
| Nullo | Sostituisce la posizione con una stringa vuota per il numero di iterazioni configurato; non conserva il testo originale marcato. |
| Elenco personalizzato | Inserisci direttamente i valori senza un file. |
Criteri di corrispondenza
I criteri di corrispondenza annotano le righe dei risultati che soddisfano una condizione. Non filtrano le righe; aggiungono una colonna booleana per ogni criterio.
- Aggiungi un criterio facendo clic su + Criterio.
- Descrivi la condizione in linguaggio naturale usando IA, oppure configurala manualmente.
| Tipo di criterio | Corrisponde quando |
|---|---|
| Stato | Il codice di risposta è uguale o diverso da un valore specificato. |
| Dimensione | La lunghezza del corpo della risposta rientra in un intervallo specificato. |
| Contenuto del corpo | Il corpo della risposta contiene una stringa o corrisponde a una stringa o espressione regolare. |
Condizioni di arresto
Una condizione di arresto interrompe l'esecuzione quando si attiva un criterio di corrispondenza.
- Configura una Condizione di arresto usando lo stato o la dimensione della risposta, un operatore di confronto e un valore.
- Un risultato corrispondente mette in pausa l'esecuzione; le richieste già in corso possono comunque completarsi.
Questo è utile quando serve solo il primo risultato positivo, come una credenziale valida o un controllo aggirato.
Estrattori
Gli estrattori recuperano un valore da ogni risposta e lo memorizzano in una colonna con nome.
- Usa gli estrattori per acquisire token CSRF, ID di sessione o nonce per richieste concatenate.
- Descrivi ciò che vuoi estrarre usando IA, oppure configura manualmente l'estrazione con Regex sul corpo, Grep sul corpo o Intestazione della risposta.
- I valori estratti appaiono come colonne nella tabella dei risultati.
- Per la modalità sequenziale, configura esplicitamente l'estrattore usato per la concatenazione; inviare un risultato a un'altra sessione non configura automaticamente l'estrazione dei token per quella sessione.
Tabella dei risultati
Ogni richiesta completata produce una riga.
| Colonna | Descrizione |
|---|---|
| # | Numero di sequenza della richiesta. |
| Stato | Codice di risposta HTTP. |
| Dimensione | Lunghezza del corpo della risposta in byte. |
| Tempo | Tempo di andata e ritorno in millisecondi. |
| Payload | I valori di payload usati per questa richiesta. |
| Colonne dei criteri | Una colonna booleana per ogni criterio configurato. |
| Colonne degli estrattori | Una colonna di valori estratti per ogni estrattore configurato. |
Fai clic su qualsiasi riga per aprire la richiesta e la risposta complete nel pannello di ispezione.
Filtrare i risultati
Digita un'espressione HTTPQL nella barra Filtro sopra la tabella dei risultati per limitare le righe visualizzate. Esempio:
text
result.status.eq:200 AND result.len.gt:500Le query di Automazione usano il namespace result.*. Per una colonna estratta, usa il suo campo result.extract.<name>. I campi req.* e resp.* di Cronologia HTTP non sono intercambiabili con i filtri dei risultati di Automazione.
Assistenza IA
Il pulsante IA appare accanto ai campi di configurazione dei criteri e degli estrattori. Descrivi in linguaggio naturale ciò che vuoi rilevare o estrarre. Ogma genera la configurazione. Controlla il risultato prima di salvare.
Inviare un risultato altrove
Fai clic con il pulsante destro su qualsiasi riga dei risultati per:
- Invia a Ripetizione: aprire la richiesta e la risposta specifiche in Ripetizione per proseguire manualmente le verifiche.
- Invia a nuova sessione di Automazione: usare la richiesta della riga dei risultati come modello di una nuova sessione.
- Copia come curl: copiare la richiesta come comando curl.