Iniezione SQL con un parametro autoincrementante

1

Al momento sto eseguendo un API Pentest e sospetto uno SQLi in una delle chiamate API. Aggiorna un determinato elemento del servizio web e richiede un aumento del numero di versione per ogni richiesta.

Il corpo della richiesta è fondamentalmente:

{"id":"1234","version":2,"name":"sqli-here*"}

La seguente richiesta deve quindi essere:

{"id":"1234","version":3,"name":"sqli-here*"}

Potrei usare mitmproxy con uno script, per aumentare automaticamente la versione - o scrivere manualmente lo SQLi.

C'è un modo per ottenerlo con SQLMap o Burp Pro?

    
posta Dolores The Third 28.11.2018 - 11:00
fonte

1 risposta

3

È possibile utilizzare il parametro --eval di SQLMap, in teoria:

-data='{"id": 1}' --eval "f = open('cnt.txt','r+'); id = int(f.readline()); f.seek(0,0); f.write(str(id+1)); f.close()"

Vedi link per i dettagli completi - in pratica, SQLMap può modificare i dati JSON, e eseguire il codice Python. Il codice Python legge un file chiamato cnt.txt (che devi creare manualmente), quindi usa il valore in esso per sostituire la variabile ID, prima di incrementare la variabile ID memorizzata nel file.

    
risposta data 28.11.2018 - 16:58
fonte