0% encontró este documento útil (0 votos)
154 vistas7 páginas

SQL Injection

El documento describe cómo realizar un ataque de inyección SQL utilizando la herramienta w3af en Kali Linux. Explica que la inyección SQL permite leer y modificar datos de la base de datos mediante la inserción de consultas SQL en los campos de entrada. Luego, detalla los pasos para encontrar una vulnerabilidad SQL en un sitio web, identificar las bases de datos, tablas y columnas vulnerables y extraer los datos mediante sqlmap.

Cargado por

YaVine Nana
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
154 vistas7 páginas

SQL Injection

El documento describe cómo realizar un ataque de inyección SQL utilizando la herramienta w3af en Kali Linux. Explica que la inyección SQL permite leer y modificar datos de la base de datos mediante la inserción de consultas SQL en los campos de entrada. Luego, detalla los pasos para encontrar una vulnerabilidad SQL en un sitio web, identificar las bases de datos, tablas y columnas vulnerables y extraer los datos mediante sqlmap.

Cargado por

YaVine Nana
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

INYECCION SQL CON W3AF SOBRE PLATAFORMA KALI LINUX

1. SQL INJECTION
Un ataque de inyeccin SQL consiste en la insercin o inyeccin de una consulta o
query SQL a travs de los datos de entrada del cliente de la aplicacin.
Una inyeccin SQL xito exploit puede leer los datos sensibles de la base de datos
de la aplicacin, modificar datos de dentro de la bases de datos y con facilidad un
DML (Insertar / Actualizar / Eliminar), ejecutar operaciones de administracin en la
base de datos (tales como apagar el DBMS), recuperar el contenido de un archivo
determinado presente en el sistema de archivos DBMS y en algunos casos emitir
comandos al sistema operativo. Estos ataques se dan por medio de comandos SQL
y se inyectan en la entrada de datos de plano con el fin de efectuar la ejecucin de
comandos predefinidos SQL.(Grfico 1)

FIGURA 1. INYECCIN SQL

El ataque consiste en suplantar identidades por parte de los atacantes, alterar datos
existentes, causar problemas de repudio, permite la revelacin de todos los datos
en el sistema, destruir los datos o si no volverlos inasequibles, y convertirse en
administradores del servidor de base de datos.
La inyeccin SQL es muy comn con aplicaciones PHP y ASP. Debido a la naturaleza
de las interfaces programticas, las aplicaciones J2EE y ASP.NET tienen menor
probabilidad de ser fcilmente atacadas por una inyeccin SQL.

La inyeccin SQL se ha convertido en un problema comn con sitios web que


cuentan con base de datos. La falla es fcilmente detectada y fcil-mente
explotada, y como tal, cualquier sitio o paquete de software con incluso una mnima
base de usuario es propenso a ser objeto de un intento de ataque de este tipo.
Esencialmente, el ataque es llevado a cabo mediante la colocacin de una meta
carcter en los datos de entrada para colocar comandos SQL en el plano de control,
el cual antes no exista. (Grfico. 2)

Grfico 2
Este error depende del hecho de que SQL no hace real distincin entre los planos de
datos y los de control.
Consecuencias
Confidencialidad: Dado que las bases de datos SQL generalmente almacenan
informacin sensible, la prdida de la confiabilidad es un problema frecuente
con las vulnerabilidades de inyeccin SQL.
Autenticacin: Si se utilizan consultas SQL pobres para chequear nombres de
usuarios u contra-seas, puede ser posible conectarse a un sistema como
otro usuario sin conocimiento previo de la contrasea.
Autorizacin: Si la informacin de autorizacin es almacenada en una base
de datos SQL, puede ser posible cambiar esta informacin mediante la
explotacin exitosa de una vulnerabilidad por inyeccin SQL.
Integridad: As como puede ser posible leer informacin sensible, tambin es
posible realizar cambios o incluso borrar esta informacin mediante un
ataque por inyeccin SQL

2. TIPO DE SQL INJECTION


a) Datos Ex filtracin: Exfiltracin de datos a travs de la inyeccin de SQL es lo
que ha contribuido a algunas de las violaciones de datos ms grandes hasta la
fecha. Los atacantes encuentran una vulnerabilidad que les permite a la lista de
todas las tablas y volcar todas las cuentas de usuario, correos electrnicos y
contraseas.
b) Cdigo Inyeccin: No es muy usado, se basan en algunas de vulnerabilidad
inicial pre pruebas que nos bloqueamos automticamente a travs de nuestro Sitio
Web Firewall por lo que es mucho ms difcil de grabar y tentativa.

3. DIAGRAMA DE RED

Grfico. 3
Para el trabajo se necesitara hacer uso de Kali Linux y as poder trabajar en un
diagrama de red respectivo que nos brinde seguridad.
Kali Linux: es una distribucin de Linux avanzada para pruebas de penetracin y
auditoras de seguridad.

4. BSQUEDA DE
VULERABILIDADES
Se utilizar el software w3af que
analiza vulnerabilidades, procedimos
a buscar una URL que nos sirva para
poder hacer un ataque de inyeccin
de SQL.
En la figura 1. podemos ver la
ejecucin del cdigo para que se
ejecute el programa w3af y poder
encontrar la URL que servir en la
prctica.
Podemos ver la ejecucin del
analizador de vulnerabilidad aplicado
a la URL

Figura 1 Ejecucin del Analizador


de Vulnerabilidades w3af
En el siguiente ejemplo se muestra la
pgina a vulnerar, con el fin de
practicar con el w3af y conocer la
herramienta.
https://www.gms.com.ec/

En la figura 5. Podemos observar que


a la url: http://www.pichincha.com/ no
se puede atacar debido a que nos
indica que tiene 2 vulnerabilidades,
pero las cuales no permiten un ataque
SQL injection.

Figura 2 Ejecucin del Analizador


de Vulnerabilidades a la URL de
GMS
En la figura 3. Podemos observar que
a la url: no se puede atacar debido a
que nos indica que no tiene
vulnerabilidades.

Figura 5. Resultado de
Vulnerabilidades a la URL de
Banco Pichincha
En la figura 6. Podemos ver la
ejecucin del analizador de
vulnerabilidades a la URL
http://www.hacerseoir.com.ar/ .

Figura 3. Resultado de
Vulnerabilidades a la URL de GMS
En la figura 4. Podemos ver la
ejecucin del analizador de
vulnerabilidad aplicado a la URL
http://www.pichincha.com/

Figura 6. Ejecucin del Analizador de


Vulnerabilidades a la URL de Hacerse
Oir

Figura 4. Ejecucin del Analizador


de Vulnerabilidades a la URL de
Banco Pichincha

En la figura 7 podemos observar que


nos
indica
el
nmero
de
vulnerabilidades detectadas en la URL
http://www.hacerseoir.com.ar/, la cual
utiliza-remos para hacerle un ataque
de SQL injection.

Figura 7. Resultado de
Vulnerabilidades a la URL de Hacerse
Oir

En la figura 8 podemos ver un log en


donde se registra cada una de las
vulnerabilidades encontradas en la
url: http://www.hacerseoir.com.ar/.

4. ATAQUE SQL INYECTION CON


SQLMAP USANDO KALI LINUX
As que una vez tenemos la URL:
http://www.hacerseoir.com.ar/
la
introducimos en SQL map de la
siguiente
manera,
especificando
dbs, lo cual indica que nos saque las
bases de datos existentes, esto lo
podemos ver en la figura 10.

Figura 10. Comando para saber las


bases de datos

Figura 8. Log de registro de


vulnerabilidades a URL de Hacerse Oir

En la figura 9 se puede observar con


mayor
de-talle
cual
es
la
vulnerabilidad encontrada y la informacin encontrada en la misma.
Figura 9. Descripcin a detalle de
vulnerabilidades a URL de Hacerse Oir

Como vemos en la figura 11 la


herramienta nos est indicando que el
parmetro id es vulnerable y que
segn test heursticos de SQL map, la
base de datos parece ser MySQL, por
lo que nos propone hacer las pruebas
nicamente para esa plataforma.

Figura
11.
vulnerable.

Parmetro

id

es

Tras aceptar (poner Y) y como vemos


en la figura 12. Realiza gran cantidad
de pruebas hasta obtener que
realmente la web es vulnerable a SQL
Injection mediante Union Base, lo cual
nos permitir sacar los datos de una
forma muy rpida

Figura 13. Formas de SQL injection y


bases
de
da-tos
existentes.

Ahora que ya tenemos las bases de


datos va-mos a ver cmo podramos
sacar las diferentes tablas, en este
caso de la base de datos hacerce1_hacerseoir. Para ello ejecutamos
la siguiente consulta con SQL map,
como podemos ver en la figura 14.

Figura 14.
Comando
para
obtener las tablas de la base de datos
hacerse1_hacerseoir

Lo cual nos da como resultado las


diferentes tablas (19 en total), que
hay en dicha BD como vemos en la
figura 15.
Figura 12. Pruebas para determinar
que es posible SQL injection.

Tras dar explotar la SQL i vemos que


nos saca las formas en las que es
posible explotar la vulnerabilidad
segn las pruebas realizadas, y las
bases de datos existentes, esto lo
podemos ver en la figura 13.

Figura 15. Tablas encontradas de la


BDD hacer-se1_hacerseoir.

Despus lo que hicimos es sacar las


columnas que tiene la tabla que nos
interese, en este caso usuarios, para
ello ejecutamos el siguiente coman-do
mostrado en la figura 16.

Figura 16. Comando para sacar las


columnas

Y como esperbamos nos devuelve las


columnas existentes en esa tabla (2
columnas), como podemos ver en la
figura 17.

Figura 17. Columnas de la tabla


usuarios.

Despus de eso lo que se hizo fue realizar


un volcado de la tabla completa, para de
esta manera poder obtener los datos de
dichos campos (id, nivel, nombre,
password), el comando ejecutado se puede
ver en la figura 18.
Figura 18. Comando para volcar la
tabla.

Los datos obtenidos podemos ver en


la figura 19, los cuales nos serviran
para hacer otros tipos de ataques,
debido a que se obtuvieron datos de
acceso (login y usuario).

Figura 19. Datos obtenidos de la


tabla.

Con esto hemos podido realizar con


xito un ataque SQL injection, como
fue planteada en un principio.

También podría gustarte