Second Order Injection - SQLMap
SQLMap può sfruttare le SQLi di Secondo Ordine. È necessario fornire:
La richiesta in cui il payload di sqlinjection verrà salvato
La richiesta in cui il payload verrà eseguito
La richiesta in cui il payload di SQL injection è salvato è indicata come in qualsiasi altra iniezione in sqlmap. La richiesta dove sqlmap può leggere l'output/esecuzione dell'iniezione può essere indicata con --second-url
o con --second-req
se è necessario indicare una richiesta completa da un file.
Esempio semplice di secondo ordine:
In diversi casi questo non sarà sufficiente perché sarà necessario eseguire altre azioni oltre a inviare il payload e accedere a una pagina diversa.
Quando ciò è necessario, puoi utilizzare un sqlmap tamper. Ad esempio, il seguente script registrerà un nuovo utente utilizzando il payload di sqlmap come email e disconnetterà.
Un tamper di SQLMap viene sempre eseguito prima di iniziare un tentativo di iniezione con un payload e deve restituire un payload. In questo caso non ci interessa il payload ma ci interessa inviare alcune richieste, quindi il payload non viene modificato.
Quindi, se per qualche motivo abbiamo bisogno di un flusso più complesso per sfruttare l'iniezione SQL di secondo ordine come:
Creare un account con il payload SQLi all'interno del campo "email"
Disconnettersi
Accedere con quell'account (login.txt)
Inviare una richiesta per eseguire l'iniezione SQL (second.txt)
Questa riga di sqlmap aiuterà:
Last updated