Instalé XAMPP en mi PC de desarrollo, e inicié el servidor HTTP Apache y MySQL.
Viene con una página de prueba "colección de CD", con el siguiente código PHP de fondo:
mysql_query("DELETE FROM cds WHERE id=".round($_REQUEST['id']));
No soy un experto en PHP, supongo que la llamada round
está ahí para evitar la inyección de SQL. Así que lo eliminé del código PHP, dejando lo siguiente:
mysql_query("DELETE FROM cds WHERE id=".$_REQUEST['id']);
Verifiqué que puedo modificar los parámetros de consulta en la URL para hacer lo que me gusta en la base de datos, por lo que la vulnerabilidad de inyección de SQL definitivamente está ahí.
Ahora estoy tratando de usar sqlmap
para encontrar la vulnerabilidad de inyección de SQL. Lo ejecuto así:
python sqlmap.py -u "http://127.0.0.1/xampp/cds.php?action=del&id=14"
Pero devuelve lo siguiente:
[16:01:47] [ADVERTENCIA] El parámetro GET 'id' no es inyectable [16:01:47] [CRITICAL] todos los parámetros no son inyectables, intente aumentar --nivel / - valores de riesgo para realizar más pruebas. Ejecute de nuevo sin proporcionar el interruptor --te chnique. Dale una oportunidad con el interruptor - sólo texto si La página de destino tiene un bajo porcentaje de contenido textual (~ 15.27% de el contenido de la página es texto)
¿Alguna idea de lo que puedo estar haciendo mal?