miércoles, 10 de junio de 2009

Hacking ¿Por qué y cómo?

Es probable que hayas escuchado anteriormente el término hacking en distintas áreas de la informática, a veces con connotaciones positivas (por ejemplo expertos en arreglar problemas de sistemas a través de soluciones ingeniosas) y en otras ocasiones con un significado negativo (por ejemplo, piratas informáticos que esquivan los sistemas de protección de un sistema informático y lo atacan para su propio beneficio). Cuando hablamos de un sitio web hackeado, nos estamos refiriendo precisamente a este último caso: personas sin escrúpulos que deciden aprovechar las vulnerabilidades de los sitios web para modificar su contenido, insertando código que en ningún caso sería aprobado por su webmaster.


Ahora, la siguiente pregunta es cómo lo hacen, ¿van los hackers manualmente examinando cada dominio para ver si encuentran alguna nueva vulnerabilidad? No precisamente. Una estrategia más efectiva es utilizar programas que identifiquen automáticamente sitios web con sistemas de gestión de contenidos (CMS) desactualizados (versiones antiguas con fallos conocidos) e insertar el contenido deseado a través de técnicas de hacking conocidas como una inyección SQL o el cross-site scripting (XSS).


El primer caso consiste en insertar trozos de código SQL en los formularios de las páginas que se utilizan para enviar información a la aplicación web (registro, inicio de sesión, comentarios, etc.), con el objetivo de modificar la sentencia SQL y esquivar el sistema de autenticación o introducir información no deseada en la base de datos. El segundo consiste en insertar en los campos del formulario un script que en el momento de ser interpretado por el navegador, redirige al usuario a otra pagina o intenta robar la información almacenada en las cookies para enviarla a un servidor externo. En nuestra entrada Prácticas recomendadas contra el hacking este tema se discute más a fondo y enlazamos hacia algunos artículos interesantes del Web Application Security Consortium donde se discuten los temas de inyección SQL [inglés] y cross-site scripting (XSS) [inglés].

0 comentarios:

Publicar un comentario