XSS Cross-Site Scripting

XSS Cross-Site Scripting

Decimo cuarta lección: Ataques DDOS

Cross-site scripting (XSS) es un ataque de inyección de código que permite a un atacante ejecutar JavaScript malicioso en el navegador de otro usuario.

El atacante no apunta directamente a su víctima. En su lugar, explota una vulnerabilidad en un sitio web que la víctima visita, con el fin de conseguir que el sitio web le entregue el JavaScript malicioso. Para el navegador de la víctima, el JavaScript malicioso parece ser una parte legítima del sitio web, por lo que el sitio web ha actuado como cómplice involuntario del atacante. Estos ataques se pueden realizar utilizando HTML, JavaScript, VBScript, ActiveX, Flash, pero el XSS más utilizado es JavaScript malicioso.

Estos ataques también pueden recopilar datos de secuestros de cuentas, cambios en la configuración del usuario, robo/envenenamiento de cookies o publicidad falsa y crear ataques DoS.

Ejemplo

Tomemos un ejemplo para entender cómo funciona. Tenemos una página web vulnerable que obtuvimos por la máquina metasploitable. Ahora vamos a probar el campo que está resaltado en la flecha roja para XSS.

metasploitable

Primero que nada, hacemos un simple script de alerta

<script>
alert(‘Soy vulnerable’)
</script>

El resultado es el siguiente:

vulnerabilidad script

Tipos de ataques XSS

Los ataques XSS a menudo se dividen en tres tipos:

  • XSS persistente: donde la cadena maliciosa se origina en la base de datos del sitio web.
  • XSS reflejado: donde la cadena maliciosa se origina a petición de la víctima.
  • XSS basado en DOM: donde la vulnerabilidad está en el código del lado del cliente en lugar del código del lado del servidor.

Generalmente, los scanners de vulnerabilidades encuentran scripts cruzados para que no tenga que hacer todo el trabajo manual poniendo un JavaScript en él como

<script>
alert(‘XSS’)
</script>

Burp Suite y acunetix se consideran los mejores escáneres de vulnerabilidades.

Consejo rápido

Para prevenir los ataques XSS, tenga en cuenta los siguientes puntos:

  • Verificar y validar todos los campos del formulario como formularios ocultos, encabezados, cookies, cadenas de consulta.
  • Aplicar una política de seguridad estricta. Configure la limitación de caracteres en los campos de entrada.

Lección decimo sexta: Inyección SQL

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *