Cómo superar la inyección de Blind SQL

0

Sé que la inyección SQL se puede desinfectar usando

mysql_real_escape_string();

pero cómo sanear la inyección de SQL ciego y en qué se diferencia de la inyección de SQL normal.

    
pregunta Black Mamba 18.09.2016 - 09:53
fuente

2 respuestas

2

La inyección ciega de SQL y la inyección "normal" de SQL son inyecciones de SQL, es decir, el atacante puede modificar la declaración de SQL enviada a la base de datos. La única diferencia es que con la inyección ciega de SQL, el atacante no ve ningún resultado obvio (es decir, los datos devueltos por la base de datos), pero solo puede deducir de la sincronización, los mensajes de error o algo similar a lo que sucedió en la base de datos. Consulte OWASP para obtener más información.

Debido a que la causa de la inyección ciega de SQL y la inyección "normal" de SQL es la misma prevención, también lo es la prevención, es decir, asegúrese de que el atacante no pueda modificar el SQL de manera malintencionada. La forma preferida de hacer esto es vincular los parámetros y no escapar (es decir, mysql_real_escape_string ). Para obtener más información sobre cómo hacerlo correctamente, consulte Bobby Tables: una guía para prevenir la inyección de SQL que describe los problemas y también tiene soluciones en varios lenguajes como para PHP .

    
respondido por el Steffen Ullrich 18.09.2016 - 10:06
fuente
1

¡Usando consultas parametrizadas! enlace enlace

De esa manera, usted tampoco siempre tiene que preocuparse por escapar todo siempre cada vez, en cada consulta.

También me gustaría mencionar que mysql_real_escape_string(); está desactualizado.

mysqli_real_escape_string();

Es la versión actual soportada.

    
respondido por el O'Niel 18.09.2016 - 09:58
fuente

Lea otras preguntas en las etiquetas