Utilizzo di user agent e input per l'iniezione SQL con ModSecurity WAF

1

Sto provando a testare un sito Web di sfida usando ModSecurity come un WAF. Quando ho inserito ' nell'agent user ho ricevuto un errore da MySQL.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''')' at line 1

Ora sto provando a sfruttarlo con questa intestazione:

User-Agent: brick') order by 15 --+

Il risultato è:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '')' at line 1

Ho trovato un altro input che è vulnerabile a SQL injection anche se penso che sia più facile essere sfruttato ...

' order by 15 --+

ho provato a iniettare come questo esempio e funziona il risultato

Unknown column '15' in 'order clause' ecc.

ma quando ho provato order by 2

ho ottenuto questo risultato:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by 2 --  ', '', '', '', '5', 'Lbs', '', 'Mozilla/5.0')' at line 1

Qualche idea su come sfruttare?

    
posta user3771906 20.07.2016 - 02:20
fonte

1 risposta

3

L'errore che si ottiene è da MySQL, non dalla modsecurity. Ti informa che l'istruzione SQL costruita dal server non è valida.

Ad esempio, forse la query SQL è strutturata in questo modo:

UPDATE clients SET useragent='$useragent'

Con il tuo esempio, questo diventerebbe

UPDATE clients SET useragent='brick') order by 15 --+'

Questo è chiaramente non valido, a causa della parentesi.

Per sfruttarlo, devi conoscere la query esatta o devi indovinare la query e provare alcuni valori diversi.

    
risposta data 20.07.2016 - 09:10
fonte

Leggi altre domande sui tag