miércoles, 28 de enero de 2009

¿Qué es SQL Injection?

SQL Injection (Inyección SQL) es una vulnerabilidad informática a nivel de base de datos de una aplicación. Esta vulnerabilidad se hace presente en el filtrado incorrecto de las variables utilizadas en partes del programa que usan sentencias SQL. De hecho más que vulnerabilidad es un error que puede ocurrir en cualquier lenguaje de programación o de script que esté incrustado dentro de otro.

Sin embargo la Inyección SQL no siempre surte efecto, ya que para ello, el sistema de base de datos debe de permitir la concatenación de consultas. Aunque existen maneras de realizar Injection sin concatenar consultas, estás suelen ser las más utilizadas. Por defecto, sabemos que SQL Server permita dicha opción, y bases de datos como MySQL o Access, no están habilitadas por defecto, así que sabiendo esto una buena manera de evitarlo sería desactivar dicha opción.

Un código que se repetirá en miles de sitios Web es el de validaciones de usuario con su correspondiente formulario de login. Este siempre ha sido un foco de ataque vulnerable para las aplicaciones mal protegidas. Lo ideal es que creemos una función que nos reemplaza los caracteres no deseados, como podrían ser la comilla simple, el punto y coma, los guiones simples juntos (--), etc.

Otra técnica para asegurarnos un buen funcionamiento sin ataques es la de asignar los permisos correctos al usuario que manejará la base de datos en Internet, nunca asignéis permisos de eliminación a un usuario que tan solo tiene que hacer consultas, es un riesgo innecesario. La técnica de SQL Injection no solo está vigente en formularios, hemos de recordar que también las URL pasan parámetros para que estos consulten la base de datos, una consulta como "default.asp?id=1" podría convertirse en el objetivo de ataque.

lunes, 26 de enero de 2009

Google Hacking Database (GHDB)

Google Hacking Database (GHDB)

Un secreto a voces en los círculos de seguridad es que Google es la mejor herramienta de detección de vulnerabilidades y ataque en Internet, esto se debe a que al indexar todo el contenido disponible de los servidores, se pueden encontrar datos como versiones de sistemas operativos y aplicaciones, accesos de extranet, páginas con errores y mucho más.

Es un tema viejo, pero vale la pena releerlo
awpy
»

A esto se le ha dado el nombre de Google hacking, que es la técnica de crear complejas consultas en el buscador para descubrir información sensible y vulnerabilidades y del que existen varios ejemplos en Internet. Al respecto, Johnny Long -investigador y hacker de tiempo completo- a publicado una extensa lista de ejemplos funcionales para que al usar el motor de búsquedas se detecten diversas vulnerabilidades y fallas de seguridad, a la que ha llamado Google Hacking Database (GHDB).

Algunos de los criterios que presenta son vulnerabilidades, mensajes de error, archivos con usuarios y passwords (increíble), páginas con datos de de la red o vulnerabilidades, archivos y servidores vulnerables y perfiles de servidores, por mencionar los más relevantes.
Esta no es la única herramienta, también existe SiteDigger.

Señores, nadie está a salvo, están advertidos.