Ho trovato una semplice vulnerabilità SQL boolean blind e desidero consentire a sqlmap di eseguire l'iterazione ma non sembra funzionare, ho l'impressione che provi ad iniziare a un punto che sono molto oltre. Ecco i dettagli. La vulnerabilità è come questa
http://host/path?param=123
e posso interrogare in questo modo
http://host/path?param=123' or 10 = (select len(system_user()));--
(URL codificato, ovviamente). Se il secondo o condizione è vera, arriverò da qualche parte nella risposta "Trovato 1000 risultati". Se è falso ci sarà "Trovato 0 risultati". Così ora posso facilmente fare una ricerca binaria con
http://host/path?param=123' or 100 < (select ascii(substring(system_user(), 1, 1));--
carattere per carattere (è MS SQL Server nel caso non l'avessi notato). Sembra così dannatamente facile che non riesco a capire che sqlmap continua a dirmi "param non sembra essere iniettabile". Ecco la chiamata sqlmap che ho provato:
sqlmap -u "http://host/path?param=123" -p param --current-user --dbms mssql --prefix="123' or " --suffix=";--" --risk 3 --level 2
Ho giocato con --risk, --level e --technique = B e anche --string="Trovato 1000 colpi". Niente aiuta Come posso dire a sqlmap di non cercare nulla ma semplicemente di fare questa stupida iterazione?