SQL Injection PDF
SQL Injection PDF
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
COMO FUNCIONA
Query original.
Query Alterado.
SQL INJECTION
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.
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)