Ho installato XAMPP sul mio PC di sviluppo e ho avviato il server HTTP Apache e MySQL.
Viene fornito con una pagina di test "Raccolta CD", con il seguente codice PHP di back-end:
mysql_query("DELETE FROM cds WHERE id=".round($_REQUEST['id']));
Non sono un esperto di PHP, suppongo che la chiamata di round
sia lì per prevenire l'iniezione SQL. Quindi l'ho rimosso dal codice PHP, lasciando il seguente:
mysql_query("DELETE FROM cds WHERE id=".$_REQUEST['id']);
Ho verificato che posso modificare i parametri di query nell'URL per fare tutto ciò che mi piace nel database, quindi la vulnerabilità di SQL injection è sicuramente lì.
Ora sto cercando di utilizzare sqlmap
per trovare la vulnerabilità di SQL injection. Lo eseguo in questo modo:
python sqlmap.py -u "http://127.0.0.1/xampp/cds.php?action=del&id=14"
Ma restituisce quanto segue:
[16:01:47] [WARNING] GET parameter 'id' is not injectable [16:01:47] [CRITICAL] all parameters are not injectable, try to increase --level/--risk values to perform more tests. Rerun without providing the --te chnique switch. Give it a go with the --text-only switch if the target page has a low percentage of textual content (~15.27% of page content is text)
Qualche idea su cosa potrei fare male?