Apuntes SinCara Extras XSS, CSRF y SSRF

  • https://cwe.mitre.org/data/definitions/79.html - CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). Número 1 del top 25:
  • A una URL legítima y válida, se le añade un script o código que se ejecuta en el cliente (Tipo 1), o también puede estar añadido en un comentario de esa página (Tipo 2).
  • Es una URL especialmente construida, normalmente en ataques de Phishing.
  • Los XSS ocurren cuando:
    • una aplicación toma datos no confiables y los envía al navegador web sin una validación y codificación apropiada;
    • o actualiza una página web existente con datos suministrados por algún usuario utilizando una API que ejecuta JavaScript en el navegador.
  • Existen tres formas usuales de XSS para atacar a los navegadores de los usuarios
    • Tipo 1: XSS Reflejado o No Persistente: Este ataque no se ejecuta en la aplicación web, sino que es una inyección de código que se inicia en el momento que el usuario pincha en un enlace especialmente construido que contiene el código malicioso.
    • Tipo 2: XSS Almacenado o Persistente: En esta modalidad se busca inyectar código en el sitio web, lo que lo hace más peligroso debido a que no afecta a un solo usuario sino a todas las personas que visiten el sitio web. Estos tipos de ataques se encuentran principalmente en sitios que permiten alguna clase de entrada de datos sin validar, como por ejemplo blogs, formularios, foros, tweets…
    • Tipo 0: XSS Basados en DOM, o XSS local (Document Object Model-based): Es una variante del Tipo 1 o Reflejado. Tiene una diferencia esencial con los otros dos tipos, y es que el código malicioso se inyecta localmente desde una URL externa o un código JavaScript, pero gracias al # no se carga desde la web, no se retransmite al servidor, se ejecuta solo en local. En este caso el daño se provoca por medio de los scripts que están en el lado del cliente, y no existen en el lado del servidor. (NOTA: la # se utiliza para indicar en que parte de la web queremos posicionarnos al cargarla, pero esa información es para el navegador del cliente, esa parte no se envia al servidor)
  • Los ataques XSS incluyen el robo de la sesión, apropiación de la cuenta, evasión de autentificación de múltiples pasos, reemplazo de nodos DOM, inclusión de troyanos de autentificación, ataques contra el navegador, defacements, descarga de software malicioso, keyloggers, y otros tipos de ataques del lado cliente.
  • Variantes:
  • Enlaces:
  • https://cwe.mitre.org/data/definitions/352.html - CWE-352: Cross-Site Request Forgery (CSRF). Número 4 del top 25:
  • Esta vulnerabilidad consiste en conseguir que el usuario haga una petición, sin su conocimiento, a una página web en la que esté previamente autenticado.
  • Se basa generalmente en que los usuario suelen tener el «estar logueado permanentemente» activo, que por seguridad, y concretamente para evitar este ataque, no deberíamos activar.
  • Cómo esa petición se lanza desde el navegador del cliente, utiliza sus cookies para realizarla, sin que se entere.
  • Una posibilidad es a través de una URL especialmente creada, como:
  • Aunque también puede darse el caso de apoyarse en una web especialmente creada por el ciberdelincuente, en la cual se embebe una petición oculta a una página conocida (facebook, etc..), por ejemplo a través de iframes, generalmente invisibles.
  • https://blog.evidaliahost.com/cross-site-request-forgery-csrf/ - ¿Qué es el Cross-site request forgery o CSRF?
  • info/cursos/pue/ethical-hacker/extras/sincara-xss.txt
  • Darrera modificació: 26/02/2025 02:31
  • per mate