Experiencia de amenaza en la Red usando “Blind SQL Inyection”

Inyección SQL

Inyección SQL es un método de infiltración de código intruso que usa la vulnerabilidad informática presente en una aplicación a nivel de validación de las entradas para realizar operaciones sobre una base de datos.

Esta vulnerabilidad se genera del chequeo incorrecto o filtrado de las variable utilizadas en un programa que contiene, o genera código SQL.

Se conoce como Inyección SQL indistintamente al hecho de incrustar código SQL intruso a la porción de código incrustado.

Blind SQL inyection

Es una técnica de ataque que utiliza la inyección SQL. su Evidencia cuando en una pagina web, por una falla de seguridad, 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.

sentencias condicionales como “OR 1 = 1” o “having 1=1” dan resultados verdaderos, por lo cual son usados por los programadores como formas de comprobacion. El problema para la seguridad de la pagina es explotado con esta tecnica .

Ejemplos

Usando una pagina de ejemplo, que muestra un articulo con ID dado como parámetro, el atacante puede realizar un par de pruebas sencillas para determinar si la pagina es vulnerable a ataques de inyección SQL.

URL de ejemplo

http://nacion_de_gatitos.com/items.php?id=3

envia la siguiente consulta a la base de datos

SELECT title, description, body FROM items WHERE ID=2

el atacante puede entonces intentar que devuelva falso

http://nacion_de_gatitos.com/items.php?id=3 and 1=2

ahora la consulta SQL seria de esta manera

SELECT title, description, body FROM items WHERE ID=2 and 1=2

si la aplicacion web es vulnerable a SQL Inyection, entonces es probable que no devuelva nada y para asegurarse se inyectara una cosulta que resulte verdadera.

http://nacion_de_gatitos.com/items.php?id=3 and 1=1

el atacante usando esta vulnerabilidad puede hacer que la condición de la sentencia sea siempre verdadera y muestre los datos

Una vez que esto ha sido verificado, la única limitación son los privilegios puesto por el administrador de la base de datos, diferente sintaxis sql y la imaginación del atacante.

otra manera

otra manera de usar este tipo de vulnerabilidad es buscando un panel de control de administracion

por ejemplo yo use google dorks que me permite buscar paginas en google de manera mas especifica en cuanto a palabras en el texto, tipos de archivos, palabras que deben estar en el url, etc.

18745334_1391261107622828_1274036422_o-e1495831350796.png

busque archivos de tipo php, que en el url este admin y el sitio tenga .pe

encontre 2 sitios que me permitieon usar la vulnerabilidad de bypass, que consiste en acceder al panel de control por un error en sentencia SQL.

De esta manera:

18742410_1391270234288582_360904670_o

en el panel dentro de la casilla de usuario y password se ha colocado ‘or’1’=’1 para que asi en la consulta SQL sea verdadera y poder entrar como administrador de la pagina.18742310_1391269820955290_1459529889_o

En este caso un grupo ya había entrado anteriormente y editado algunos datos de la pagina.

la otra pagina que encontré:18767023_1391270187621920_1545355315_o.png

En este caso el error me permite ver una lista con datos personales, lo cual es bastante peligroso por lo que no se sabe quien podría encontrar esta información.

18721622_1391270477621891_2064880471_o

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s