Desafío para aprender XSS

octubre 15, 2013 § Deja un comentario

Encontrar vulnerabilidades XSS o Cross-site Scripting es una tarea esencial para un auditor de seguridad de aplicaciones web.

Con escape.alf.nu nunca ha sido más fácil aprender a saltarnos filtros de escape en aplicaciones web. Y digo nunca ha sido más fácil, porque la interfaz de este sitio nos muestra el código javascript que tenemos que atacar, un campo de texto donde escribimos nuestra inyección y en tiempo real, a medida que vamos escribiendo, nos va mostrando en otro campo de texto lo que el servidor recibe y la interpretación o ejecución del mismo. Esto nos ayuda muchísimo a la hora de conseguir una inyección exitosa, porque nos permite corregir rápidamente nuestra entrada y por lo tanto creo que es una idea genial para aprender y/o mejorar nuestros ataques XSS.

El sitio tiene 16 retos, del 0 al 15, en el que cada nivel aumenta la dificultad. El objetivo de cada reto es conseguir ejecutar un alert(1). Tan pronto como nuestro código ejecuta el [em]alert(1)[/em], nos aparecerá un mensaje en la parte superior de la imagen notificando que hemos ganado el nivel. Aquí se puede ver el solucionario.

Fuente: Cyber Hades

OWASP Xenotix XSS Exploit Framework

agosto 6, 2013 § Deja un comentario

OWASP Xenotix XSS Exploit Framework es un herramienta para detectar errores de Cross Site Scripting (XSS). Xenotic ofrece un scanner triple para los motores de renderizado Trident de IE, WebKit de Chrome, Safari y Opera y Gecko de Mozilla Firefox y tiene más de 1.500 payloads distintivos para detectar eficientemente vulnerabilidades XSS y sobrepasar los WAF más utilizados.

Además, incorpora un módulo de recopilación de información para realizar reconocimiento del objetivo e incluye módulos de explotación ofensivos para realizar pruebas de penetración y pruebas de concepto sobre el mismo.

Módulos de escaneo

  • Manual Mode Scanner
  • Auto Mode Scanner
  • DOM Scanner
  • Multiple Parameter Scanner
  • POST Request Scanner
  • Header Scanner
  • Fuzzer
  • Hidden Parameter Detector 

Information Gathering

  • Victim Fingerprinting
  • Browser Fingerprinting
  • Browser Features Detector
  • Ping Scan
  • Port Scan
  • Internal Network Scan

Explotación

  • Send Message
  • Cookie Thief
  • Phisher
  • Tabnabbing
  • Keylogger
  • HTML5 DDoSer
  • Executable Drive By
  • JavaScript Shell
  • Reverse HTTP WebShell
  • Drive-By Reverse Shell
  • Metasploit Browser Exploit
  • Firefox Reverse Shell Addon (Persistent)
  • Firefox Session Stealer Addon (Persistent)
  • Firefox Keylogger Addon (Persistent)
  • Firefox DDoSer Addon (Persistent)
  • Firefox Linux Credential File Stealer Addon (Persistent)
  • Firefox Download and Execute Addon (Persistent)

Utilidades

  • WebKit Developer Tools
  • Payload Encoder 

Desde aquí se puede descargar el paper de su autor, ver los videos introductorios y la herramienta.

Cristian de la Redacción de Segu-Info

    Nueva vulnerabilidad CSRF en LinkedIn

    mayo 20, 2013 § Deja un comentario

    Vicente Aguilera, socio fundador de ISecAuditors, ha publicado una interesante PoC sobre una nueva vulnerabilidad CSRF (Cross Site Request Forgery) en LinkedIn que podría permitir a un atacante acceder a la información de cualquier contacto sin el conocimiento/consentimiento del usuario afectado.

    Los pasos son los siguientes:

    1. Visita LinkedIn.com y accede con el perfil que desees usar
    2. Haz clic en añadir conexiones
    3. Añade cualquier dirección de correo electrónico
    4. Usa un proxy como WebScarab o Burp
    5. Borra los parámetros que no son usados/validados
      • csrfToken
      • sourceAlias
    6. Usa el método HTTP GET en lugar de POST
    7. Finalmente puedes ver el vídeo completo del PoC en el nuevo canal de ISecAuditors en Youtube.

    Fuente: HackPlayers

    Vulnerabilidades de XSS almacenados en Facebook

    abril 22, 2013 § Deja un comentario

    Nir Goldshlager, foundador y CEO de Break Security ha publicado una serie de vulnerabilidades de Cross-site Scripting almacenado en Facebook, que afectan al Chat, al Check In y a FB Messenger.

    En este post, Nir comenta y publica los videos de las pruebas de concepto (PoC) de las vulnerabilidades encontradas.

    Cristian de la Redacción de Segu-Info

    Nueva vulnerabilidad en Google Docs ignorada

    marzo 15, 2013 § Deja un comentario

    Ansuman Samantaray, un pentester indio descubrió una falla de seguridad pequeña, pero creativa en Google Drive que puede representar una amenaza de phishing a millones de usuarios y que Google ha ignorado desde diciembre, al igual que con esta otra.

    Según Ansuman, existe una forma de ejecutar sentencia JavaScript en la vista previa de los documentos de Google Drive, lo cual permitiría ataques de phishing y propagación de malware (Drive-By).

    Cuando un usuario de Google sube o crear un archivo en Google Drive/Docs, el parámetro “export” de la URL es igual a “download” de forma predeterminada.

    https://docs.google.com/uc?authuser=0&id=0B6mcoM7O55_jWXp2N2FvdHBVTTg&export=download

    Ansuman encontró que si un atacante cambia “export” por “view”, y el documento tiene un script, Google ejecuta el código en el navegador.

    https://docs.google.com/uc?authuser=0&id=0B6mcoM7O55_jWXp2N2FvdHBVTTg&export=view

    “Cualquier usuario de Internet puede escribir scripts maliciosos y guardarlo en un documeno paa luego enviarlo por correo electrónico a una víctima y que se ejecute el código en su navegador” le dijo a The Hacker News.

    Con fines de demostración hay un archivo en Google Drive para descargar (se puede ver el script de la imagen) y para ver (se ejecuta el script) en donde queda claro la diferencia.

    Cristian de la Redacción de Segu-Info

    CursorJacking, una nueva demo

    enero 21, 2013 § Deja un comentario

    Hace aproximadamente un año, Marcus Niemietz demostró técnica llamada CursorJacking. Esta técnica consiste en engañar a los usuarios mediante el uso de una imagen falsa del puntero del mouse y se muestra su desplazamiento a la derecha de la posición del puntero real. Con un posicionamiento inteligente de los elementos de la página web, un atacante podría dirigir al usuario a hacer clics en elementos deseados de dicha página.

    Esta semana Mario Heiderich informó que la técnica funciona con distintos User-Agents, por lo que se podría fácilmente ocultar totalmente el cursor original del mouse original. Si se combina esto con el evento mousemove, una imagen del cursor del mouse y un poco de distracción, tenemos otro vector de ataque:

    Aquí hay un “boceto” de ejemplo que utiliza esta técnica para lograr que el usuario haga clic en un botón de Twitter. En la vida real se podría perfeccionar.

    Para protegerse, en Firefox se puede utilizar la extensión de NoScript ClearClick (una protección contra clickjacking), ya que detecta los clics en las áreas que están ocultos al usuario (por ejemplo, con la opacidad = 0).

    Además también se puede ver otras aproximaciones y ataques similares en esta presentación de On the Fragility and Limitations of Current Browser-Provided Clickjacking Protection Schemes.

    Cristian de la Redacción de Segu-Info

    Evitar ataques XSS con PHP Input Filter

    enero 5, 2013 § Deja un comentario

    Hoy una lección de seguridad en programación web: evitar que a vuestra página le hagan un ataque por XSS (Cross Site Scripting).

    Hay frameworks como Symphony o CakePHP que ya se encargar de implementar este tipo de seguridad, al igual que también lo hacen ciertos gestores de contenidos. Pero si se da el caso de que no estás usando ninguno, estás haciendo PHP “a pelo”, lo mejor será que recurramos a la clase PHP Input Filter. Dicha clase permite filtrar código malicioso ingresado en los formularios para prevenir ataques XSS de manera sencilla, pero tiene la cualidad de no limpiar determinadas etiquetas o atributos si queremos.

    Para utilizar esta clase, la descargaremos desde el enlace anterior e incluiremos class.inputfilter.php al inicio de nuestro códgi. Luego crearemos una instancia de la clase InputFilter, entonces podremos filtrar los datos con el método process:

    require_once("class.inputfilter.php");
    $filter = new InputFilter();
    $variable = $filter->process($_POST['variable']);

    Esto nos permitiría limpiar de etiquetas la variable enviada por $_POST llamada variable. ¿Y si queremos limpiar todos los campos enviados por el método post? Pues basta con pasarle todo el array:

    $_POST = $filter->process($_POST);

    Y con eso tendríamos el array $_POST limpio de etiquetas y securizado.

    Pero ¿y si queremos permitir ciertas etiquetas? Imaginemos que desde un input text metemos texto formateado, y nos interesa que sí puedan subir saltos de línea, texto en negrita o cursiva. Pues muy sencillo también, ya que basta con pasar en la creación del objeto InputFilter un array con las etiquetas que queremos conservar como parámetro:

    $filter = new InputFilter(array('em', 'i', 'br', 'b', 'strong'));
    $_POST = $filter->process($_POST);

    Y esto se puede llevar más allá, porque también podemos decir que se permitan ciertos atributos de ciertas etiquetas. Por ejemplo, imaginemos que queremos permitir que inserten enlaces junto a su href y a su id, pero ningún atributo más:

    $filter = new InputFilter(array('a'), array('href', 'id'));
    $enlace = $filter->process($_POST['enlace']);

    Tras el array de etiquetas pasamos otro array de atributos, simplemente.

    Con estos sencillos consejos lograrás que tus formularios sean más seguros en PHP.

    Fuente: DonniRock

    ¿Dónde estoy?

    Actualmente estás explorando la categoría xss en Seguridad Informática.

    Seguir

    Recibe cada nueva publicación en tu buzón de correo electrónico.

    Únete a otros 120 seguidores