Blog de Gonzalo

BLIND INJECTION

Hace un tiempo hablé de la inyección de sql y el otro día aprendí lo que era la blind injection o la inyección ciega. La blind injection consiste en utilizar la inyección SQL y se evidencia cuando en una página web no se muestran mensajes de error al no producirse resultados correctos ante una consulta a la base de datos, mostrándose siempre el mismo contenido, es decir, solo hay respuesta si el resultado es correcto.
Hay dos tipos de blind injection:

  • Basada en el contenido: Cuando en una página de búsqueda se pasa un parámetro GET, como un id, el atacante puede determinar si la página es vulnerable a ataques de inyección SQL. Un ejemplo sería con la url http://www.ejemplo.com?id=5, la consulta a la base de datos sería SELECT * FROM table_example WHERE id = 5 entonces para hacer el ataque sería http://www.ejemplo.com?id=5 AND 5=2 siendo la consulta SELECT * FROM table_example WHERE id = 5 AND 5=2 ya que está cogiendo el valor del parámetro id que sería 5 AND 5=2 pero Si la web es vulnerable a la inyección SQL, entonces no devuelverá ningún resultado. Para asegurarse, el atacante injectará una consulta que devuelva "verdadero": http://www.ejemplo.com?id=5 AND 1=1.
  • Basada en el tiempo: Este tipo de inyección SQL ciega se basa en pausar la base de datos por un tiempo especificado, para que posteriormente devuelva los resultados, indicando que la consulta triunfó. Un ejemplo de esta técnica sería usar delays deentro de la conulta o provocar que la consulta tarde mucho en ejecutar.

Compartir en twitter