SqlMap ignora OWASP ModSecurity Set di regole core per SQL Injection

2

Sto cercando di eseguire un semplice test di penetrazione su DVWA (l'applicazione Web che è stata specificamente progettata per essere vulnerabile ad alcuni dei più comuni attacchi di applicazioni Web).

Desidero utilizzare ModSecurity WAF per proteggere questa applicazione Web dagli attacchi di SQL Injection. Sto usando il web server Apache per ospitare la mia applicazione web. Il sistema operativo di questa macchina virtuale "vittima" è Windows XP SP3.

So che ModSecurity fornisce pochissima protezione da solo. Così ho deciso di utilizzare OWASP ModSecurity Core Set Set Project per includere regole SQL Injection aggiuntive.

Ho copiato le regole di SQL Injection Attacks fornite nella cartella 'base_rules' del Set di regole di base OWASP nel file di configurazione appropriato e ho verificato che queste regole fossero caricate insieme a ModSecurity stesso.

Ho eseguito attacchi SQL Injection manuali su DVWA dalla mia altra macchina virtuale su cui era installato Kali Linux. Ad esempio:

%’ or 1=0 union select null, concat (first_name, 0x0a, last_name, 0x0a, user, 0x0a, password) from users #

Quando SQL Injection Core Rule Set era disabilitato, venivano visualizzate le seguenti informazioni:

Tuttavia,quandoquesteregolesonostateabilitate,ilserverrestituivasempre"Errore 403 - Accesso vietato", il che significa che queste regole SQL Injection funzionavano correttamente.

Ho quindi deciso di utilizzare sqlmap per eseguire attacchi SQL Injection più avanzati. Ho dovuto dirottare la sessione usando la suite di burp per ottenere informazioni sui cookie. Ho copiato tutte queste informazioni in un file .txt sulla macchina virtuale Kali Linux:

Honascostol'IPeleinformazionisuicookie.

QuestoèilcomandochehoinseritonelmioterminaledellamacchinavirtualeKaliLinux:

Sqlmap è riuscito a bypassare le regole di Injection SQL di ModSecurity OWASP e ha visualizzato le seguenti informazioni:

Noncapiscodavveroperchésiariuscitoaignorarequesteregole.Qualcheidea?

HousatoilseguentetutorialperconfigurareModSecuritysullamiamacchinavirtuale:

link

Forse avrei dovuto includere alcuni set di regole OWASP aggiuntive per prevenire l'attacco sqlmap?

Grazie

    
posta Alex 18.03.2014 - 04:24
fonte

2 risposte

2

Sono riuscito a rendere ModSecurity in grado di rilevare e prevenire SQL Injection! Il problema era con SqlMap stesso e non con le serie di regole OWASP.

Prima di abilitare ModSecurity, eseguivo una normale scansione sqlmap usando il comando menzionato in precedenza. SqlMap è riuscito a ottenere e decifrare i valori di utente e password. Mi aspettavo che ciò accadesse perché non avevo attivato WAF.

Il passo successivo era abilitare le serie di regole WAF e SQLI ed eseguire la stessa scansione. SqlMap è ancora riuscito a ottenere valori utente e password. Il motivo è perché ha ottenuto i risultati memorizzati nella cache che sono stati salvati dopo aver eseguito la mia prima scansione SqlMap senza WAF attivato.

Ho eliminato l'intera cartella di output sqlmap relativa a quell'indirizzo IP specifico in cui era ospitato il DVWA.

rm -rvf /usr/share/sqlmap/output/192.168.220.128*

Il passaggio finale era eseguire nuovamente la scansione sqlmap, e questo è ciò che ho ottenuto:

    
risposta data 18.03.2014 - 22:09
fonte
1

Solo per il futuro e altri che hanno problemi simili. Se non sei sicuro di se e quali richieste inviate sqlmap, puoi impostare la verbosità di output (-v) su un numero più alto.

es. impostandolo su 4 e aggiungendo quanto segue al tuo payload:
-v 4

sqlmap mostrerà le richieste e i payload http nella console. Dotato di questi sarai in grado di rieseguire da solo le richieste o individuare eventuali anomalie inserite in b sqlmap.

Vedi link per ulteriori informazioni.

    
risposta data 25.01.2015 - 08:58
fonte

Leggi altre domande sui tag