Accesso richiesto prima di SQLmap

5

Ho dati di moduli multipart in cui sospetto che uno dei campi modulo multipart (parametro denominato htmlbevt_id) sia vulnerabile a SQLi. Per testare lo stesso ho catturato la richiesta usando Burp e l'ho salvata in un file, ad esempio myFile. Ora su SQLMap ho eseguito il seguente comando:

sqlmap -r /root/Desktop/myFile -p htmlbevt_id

Viene visualizzato il seguente messaggio di errore:

unable to connect to the target URL or proxy. sqlmap is going to retry the request

Mi manca qualcosa?

Devo accedere all'applicazione prima di eseguire la query sopra? In tal caso, come faccio a riconoscere SQL il login? Voglio dire è che ho bisogno di accedere all'applicazione dal browser e quindi eseguire la query sopra (nel qual caso non sono sicuro di come esattamente SQLMap saprà che sono già connesso all'applicazione), o c'è un modo diverso per farlo?

Attraverso qualche ulteriore googling ho appreso che --cookie deve essere usato per riprodurre l'autenticazione della sessione in SQLmap. Inoltre, poiché la richiesta è un POST, alcuni forum suggeriscono l'utilizzo di - Anche i dati, cosa che ho fatto. Tuttavia, nulla di tutto ciò è stato utile finora. Ho provato -v 6 per eseguire il debug e vedere cosa stava andando storto. E SQLmap segnala "non un valido registro dati di WebScarab". Non sono sicuro se questa è la causa dell'errore.

Ok, gran parte del problema è stato risolto. Così, con l'aiuto dell'estensione CO2 per Burp, sono riuscito a riprodurre l'intero traffico della richiesta POST in più parti, insieme a tutti i cookie di sessione, tramite SQLMap.

But now there is a different problem that I am facing. While I check for the application in the browser the session is still alive. But while scanning the SQLi injectable suspected parameter with SQLMap (I set verbose level to 3) I found that the server was returning a HTTP 400 session time out. What could be going wrong and is there a way to keep the session maintained while SQLMap does the scanning ?

    
posta qre0ct 03.09.2014 - 17:16
fonte

3 risposte

3

Sei in grado di riprodurre la richiesta in Burp? (Invia a ripetitore = > Vai)

Se è così, il modo più semplice per farlo in SQLMap consiste nell'utilizzare l'estensione CO2 che aggiunge "Invia a SQLMap" nel menu di scelta rapida che ti dà la linea di comando per fornire a SQLMap tutti i tuoi cookie e tutti i dati nella richiesta.

    
risposta data 04.09.2014 - 06:28
fonte
2

Quello che sembra che tu stia cercando di fare è eseguire SQLmap su un file di testo statico. Il file di richiesta è progettato per acquisire le richieste di REPLAY contro il server. Il tuo comando richiede il proxy o l'URL che devi testare.

    
risposta data 03.09.2014 - 19:53
fonte
2

Vengo dal tuo post dal gruppo null. Sono contento che tu sia quasi più vicino a 0wn del sistema;)

nel linguaggio di sqlmap LEVEL potrebbe significare due cose. Sto rispondendo alla tua modifica il 4 settembre 12.58.

  • -v (1-6) è il livello di verbosità, che viene utilizzato per l'output specifica la quantità di messaggi che sputa sqlmap sullo schermo.
  • - level (1-5) è il livello sqli rilevato. Se il livello specificato è maggiore di 2, sqlmap proverà a iniettare. Aumentare il livello a volte può causare una richiesta errata di HTTP 400 perché le intestazioni HTTP sarebbe manipolato per rilevare l'iniezione sql che avviene tramite i valori in le intestazioni HTTP. Forse è per questo che ottieni un HTTP 400, non lo sono certo cosa intendi per timeout della sessione HTTP 400 però.

Prova a ridurre il livello o ignora l'opzione --level (lascia che sia con il suo valore predefinito 1) prova a regolare l'opzione --risk. Hai effettivamente impostato il livello dettagliato o il livello di rilevamento?

    
risposta data 09.09.2014 - 12:40
fonte

Leggi altre domande sui tag