Cómo piratear un sitio web: ejemplo de pirateo de sitios web en línea

Tabla de contenido:

Anonim

Más personas que nunca tienen acceso a Internet. Esto ha llevado a muchas organizaciones a desarrollar aplicaciones basadas en web que los usuarios pueden utilizar en línea para interactuar con la organización. El código mal escrito para aplicaciones web puede explotarse para obtener acceso no autorizado a datos confidenciales y servidores web.

En este tutorial, aprenderá a piratear sitios web y le presentaremos las técnicas de pirateo de aplicaciones web y las contramedidas que puede implementar para protegerse contra tales ataques .

Temas cubiertos en este tutorial

  • ¿Qué es una aplicación web? ¿Qué son las amenazas web?
  • ¿Cómo proteger su sitio web contra los ataques?
  • Trucos de pirateo de sitios web: ¡piratea 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 empresarial. 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, ColdFusion Markup Language, etc. Los motores de base de datos utilizados en las aplicaciones web incluyen MySQL, MS SQL Server, PostgreSQL, SQLite, etc.

La mayoría de las aplicaciones web están alojadas en servidores públicos accesibles a través de Internet. Esto los hace vulnerables a los ataques debido a su fácil acceso. 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 negar 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 por cookies / sesión : el objetivo de esta amenaza es modificar las cookies / datos de sesión por parte de un atacante para obtener acceso no autorizado.
  • Manipulación de formularios : el objetivo de esta amenaza es modificar los datos de los formularios, como los precios, en 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 pueda ejecutar en el servidor. El código puede instalar puertas traseras, revelar información confidencial, etc.
  • Defacement : el objetivo de esta amenaza es modificar la página que se muestra en un sitio web y redirigir todas las solicitudes de página a una sola página que contiene el mensaje del atacante.

¿Cómo proteger su sitio web contra los ataques?

Una organización puede adoptar la siguiente política para protegerse contra ataques al servidor 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 ser atacados a través de la inyección SQL. Los motores de base de datos como MS SQL Server, MySQL, etc. admiten parámetros y declaraciones preparadas. Son mucho más seguras que las sentencias SQL tradicionales.
  • Ataques de denegación de servicio: los firewalls se pueden usar para eliminar el tráfico de una dirección IP sospechosa si el ataque es un DoS simple. La configuración adecuada de las redes y el sistema de detección de intrusiones también puede ayudar a reducir las posibilidades de que un ataque DoS tenga éxito.
  • Cross Site Scripting: la validación y desinfección de los encabezados, los parámetros pasados ​​a través de la URL, los parámetros de formulario y los valores ocultos pueden ayudar a reducir los ataques XSS.
  • Envenenamiento por cookies / sesión : esto puede evitarse cifrando el contenido de las cookies, sincronizando el tiempo de espera de las cookies después de un tiempo y asociando las cookies con la dirección IP del cliente que se utilizó para crearlas.
  • Moderado de formularios: esto se puede prevenir 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 código ejecutable. La desinfección y la validación se pueden utilizar para implementar esto.
  • Defacement: una buena política de seguridad de desarrollo de aplicaciones web debe garantizar que selle 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 pirateo de sitios web: piratear un sitio web en línea

En este escenario práctico de pirateo de sitios web, vamos a secuestrar la sesión de usuario de la aplicación web ubicada en www.techpanda.org. Usaremos secuencias de comandos entre sitios para leer la identificación de la sesión de la cookie y luego la usaremos para suplantar una sesión de usuario legítima.

Se asume 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, asumiendo que la cuenta de acceso del atacante es limitada.

Empezando

  • Abrir http://www.techpanda.org/
  • Para fines prácticos, se recomienda encarecidamente obtener acceso mediante SQL Injection. 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á protegida contra spambots. Necesita activar JavaScript para visualizarla., La contraseña es Password2010
  • Si ha iniciado sesión correctamente, obtendrá el siguiente panel
  • Haga clic en Agregar nuevo contacto
  • Ingrese lo siguiente como nombre

Oscuro

AQUÍ,

El código anterior usa JavaScript . Agrega 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 la cookie PHP y lo envía a la página snatch_sess_id.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 tablero ahora se verá como la siguiente pantalla
  • Dado que el código de secuencia de comandos de sitios cruzados se almacena en la base de datos, se cargará cada vez que los usuarios con derechos de acceso inicien sesión
  • Supongamos que el administrador inicia sesión y hace clic en el hipervínculo que dice Dark
  • Él / ella obtendrá la ventana con la identificación de la sesión que se muestra en la URL.

Nota : el script podría estar enviando el valor a algún servidor remoto donde se almacena PHPSESSID y luego el usuario se redirige al sitio web como si nada hubiera pasado.

Nota : el valor que obtenga puede ser diferente al de este tutorial de piratería de páginas web, pero el concepto es el mismo

Suplantación de la sesión mediante el complemento de Firefox y Tamper Data

El siguiente diagrama de flujo muestra los pasos que debe seguir para completar este ejercicio.

  • Necesitará el navegador web Firefox para esta sección y el complemento Tamper Data
  • Abra Firefox e instale el complemento como se muestra en los diagramas a continuación
  • Busque datos de manipulación y luego haga clic en instalar como se muestra arriba
  • Haga clic en Aceptar e instalar ...
  • Haga clic en Reiniciar ahora cuando se complete la instalación
  • Habilite la barra de menú en Firefox si no se muestra
  • Haga clic en el menú de herramientas y luego seleccione Tamper Data como se muestra a continuación
  • Obtendrá la siguiente ventana. Nota: Si la ventana no está vacía, presione el botón de borrar
  • Haga clic en el menú Iniciar sabotaje
  • Regrese al navegador web Firefox, escriba http://www.techpanda.org/dashboard.php y luego presione la tecla Intro para cargar la página
  • Obtendrá la siguiente ventana emergente de Tamper Data
  • La ventana emergente tiene tres (3) opciones. La opción Tamper le permite modificar la información del encabezado HTTP antes de que se envíe al servidor .
  • Haz click en eso
  • Obtendrá la siguiente ventana
  • Copie el ID de sesión de PHP que copió de la URL de ataque y péguelo después del signo igual. Su valor ahora debería verse así

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Haga clic en el botón Aceptar
  • Volverá a aparecer la ventana emergente de datos de sabotaje
  • Desmarque la casilla de verificación que pregunta ¿Continuar manipulando?
  • Haga clic en el botón enviar cuando haya terminado
  • Debería poder ver el tablero como se muestra a continuación

Nota : no iniciamos sesión, suplantamos una sesión de inicio de sesión usando el valor PHPSESSID que recuperamos usando scripts de sitios cruzados

Resumen

  • Una aplicación web se basa en el modelo servidor-cliente. El lado del cliente usa el navegador web para acceder a los recursos en el 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 protegerlas.