• Descarga el eBook gratuito SEO en Wordpress 2015 aquí

    • Pack con las mejores herramientas SEO en las VIP Tools apúntate!


     
    Calificación:
    • 0 votos - 0 Media
    • 1
    • 2
    • 3
    • 4
    • 5
    Tutorial básico Cross Site Scripting

    BlackHat Bronce


    **
    Puntos de comerciante: 0 (0%)
    8



    Crédito: 0.80 BHC
    Mensaje: #1
    Tutorial básico Cross Site Scripting
    Hoy nos toca tratar una de las vulnerabilidades mas habituales en el desarrollo web actualmente, el XSS. Esta falla de seguridad se debe a un incorrecto filtrado de los valores que un usuario puede introducir en una web dando así pie a la ejecución de código de scripting en la web atacada.
    A través de este método un atacante puede robar los credenciales de un usuario o administrador, modificar contenido en la web, eliminar restricciones impuestas desde el lado del cliente y muchas otras cosas.

    Existen dos tipos de XSS:

    Indirecto o reflejado: Funciona modificando valores que una web pasa entre página. Ocurre cuando se envía un mensaje o ruta en una URL, una cookie o en la cabecera HTTP.
    Directo o persistente: Consiste en almacenar código en la web para que se ejecute una vez que la web se carga, por ejemplo inyectando en un libro de visitas de una web en un blog o en una sección de comentarios.
    Este fallo está muy extendido debido a que muchos dessarrolladores no son conscientes de que los filtros -si los hay- se pueden evadir fácilmente con algunas técnicas.


    Vamos a ver como funciona un XSS básico con una página que pasa valores a otra a través del método GET:

    Tenemos la siguiente web con un campo de texto que envía una cadena a otra página para procesarla.

    Tutorial Cross Site Scripting

    Una vez que el usuario escribe una cadena y envía el formulario se genera la siguiente url:

    Para ver el enlace necesitas registrarte o acceder a tu cuenta

    Donde "test" es el valor enviado a través del formulario y que será mostrado en la otra página.

    Tutorial Cross Site Scripting

    Si revisamos el código fuente podemos observar como se inserta "test" en la página:

    <body>
    <h1>Cadena enviada:</h1>
    <p>test</p>
    </body>

    En este ejemplo no hay ningún filtro implementado para simplificar las cosas a la hora de entender como funcionan este tipo de ataques. Nuestro objetivo es conseguir inyectar código dentro de la web y que este sea ejecutado, por lo que en este caso vamos a pasarle la siguiente cadena a través del formulario o de la url:

    <script>alert('XSS')</script>

    Para pasarlo a traves de la URL simplemente debemos sustituir "test" por esta cadena y actualizar la página:

    Para ver el enlace necesitas registrarte o acceder a tu cuenta
    ;

    Una vez actualizada la página nos debe mostrar una alerta con el texto XSS, ya que el código, al no ser filtrado, se ejecuta en la página como si formase parte de ella. Si echamos un ojo al código podemos ver como nuestra cadena se ha integrado en el código fuente de la página:

    <body>
    <h1>Cadena enviada:</h1>
    <p><script>alert('XSS')</script></p>
    </body>

    Tutorial Cross Site Scripting
    En este punto se ha completado la inyección y hemos comprobado que la web es vulnerable a este tipo de ataques, por lo que solo deberemos aplicar el payload que queramos utilizar para el ataque y llevarlo a cabo.

    Por supuesto, este ejemplo contempla un caso básico y es difícil encontrarnos ante este escenario en el mundo real, ya que lo habitual es encontrarnos entradas filtradas bien sea desde el lado del cliente o del lado del servidor.

    Tras ver como funciona el ataque básico vamos a seguir implementando filtros simples para que vayáis entendiendo la idea de los bypasses. Para este ejemplo vamos a filtrar el string "script" con la función str_replace() de PHP.

    <?php echo "<p>".str_replace('script', null, $unsafe_string)."</p>";?>

    En este caso, si pasamos el mismo string que antes:

    Para ver el enlace necesitas registrarte o acceder a tu cuenta
    ;

    La palabra "script" será eliminada y el código no será ejecutado, quedando el código fuente de la siguiente manera:

    <p><>alert('XSS')</></p>

    Este tipo de filtros es muy sencillo de vulnerar, por ejemplo alternando mayúsculas y minúsculas en la palabra filtrada (p.e. "ScRiPt"). Por lo que pasando la cadena modificada ya habremos logrado nuestro objetivo:

    Para ver el enlace necesitas registrarte o acceder a tu cuenta
    ;

    Como veis la idea principal a la hora de realizar un ataque XSS es engañar al filtro y ejecutar el código, para esto una buena parte del trabajo se realiza a la hora de analizar que tipo de filtrado aplica el objetivo y encontrar la manera de saltárselo.

    Aquí os dejo un cheatsheet con varias formas de evasión de filtros que es recomendable entender:

    XSS Filter Evasion Cheat Sheet

    Aquí lo dejamos por hoy, espero que se haya entendido, aunque cualquier duda será bienvenida en los comentarios.

    “El misterio es la cosa más bonita que podemos experimentar. Es la fuente de todo arte y ciencia verdadera.”
    04-02-2015 06:07 PM
    Buscar Citar

    Alégrame el dia...


    *****
    Puntos de comerciante: 0 (0%)
    502


    Programador Promotor Blog Promotor Facebook 100 Posts Asistente

    Crédito: 8.17 BHC
    Mensaje: #2
    RE: Tutorial básico Cross Site Scripting
    cuando hagas estos copy&paste para ganarte unos centimillos de BHC, por lo menos podias poner tambien las imagenes adjuntas...

    Firma en construcción...
    04-02-2015 06:32 PM
    Buscar Citar

    Moderador


    *****
    Puntos de comerciante: 1 (100%)
    836


    Recomendado a más de 5 miembros Programador SEO Promotor Blog Asistente Analísis web

    Crédito: 18.07 BHC
    Mensaje: #3
    RE: Tutorial básico Cross Site Scripting
    Encima de que el chico es original y no pone la porquería habitual... Ains! Cómo soís las mujeres!!! Lengua

    Firma en construcción... Lengua
    04-02-2015 06:34 PM
    Buscar Citar

    BlackHat Cobre


    ***
    Puntos de comerciante: 1 (100%)
    213


    100 Posts Asistente

    Crédito: 0.65 BHC
    Mensaje: #4
    RE: Tutorial básico Cross Site Scripting
    El tutorial es muy bueno a pesar del fallo de las imágenes, pero está en la sección de SEO, concretamente la de White Hat y lo veo más como un tema de Hack...
    No comprendo que hace este tuto (supongo que el siguiente será de inyección SQL) aquí, a no ser que nos sirva para darnos cuenta de lo vulnerables que pueden ser las webs...

    Para ver el enlace necesitas registrarte o acceder a tu cuenta
    04-02-2015 06:46 PM
    Buscar Citar

    Moderador


    *****
    Puntos de comerciante: 1 (100%)
    836


    Recomendado a más de 5 miembros Programador SEO Promotor Blog Asistente Analísis web

    Crédito: 18.07 BHC
    Mensaje: #5
    RE: Tutorial básico Cross Site Scripting
    A todo le sacaís punta! Es un fallito de nada, y además sigue dando los mismos 0.10BHC que si lo hubiera puesto en el sitio correcto Lengua
    El de inyección SQL creo que ya lo puso en programación Gran sonrisa

    Firma en construcción... Lengua
    04-02-2015 06:49 PM
    Buscar Citar

    BlackHat Cobre


    ***
    Puntos de comerciante: 1 (100%)
    213


    100 Posts Asistente

    Crédito: 0.65 BHC
    Mensaje: #6
    RE: Tutorial básico Cross Site Scripting
    (04-02-2015 06:49 PM)dislikeit escribió:  A todo le sacaís punta! Es un fallito de nada, y además sigue dando los mismos 0.10BHC que si lo hubiera puesto en el sitio correcto Lengua
    El de inyección SQL creo que ya lo puso en programación Gran sonrisa

    Ok, no he dicho nada xD

    Para ver el enlace necesitas registrarte o acceder a tu cuenta
    04-02-2015 06:57 PM
    Buscar Citar


    Posibles temas similares...
    Tema: Autor Respuestas: Vistas: Último mensaje
    Bombilla Utiliza Varias Veces tus Artículos con Este Tutorial hvazquez07 0 765 19-01-2015 05:58 PM
    Último mensaje: hvazquez07
      tutorial Hack Using Havij Sql Paygal etc Alex kriminal 2 1,315 06-01-2015 11:18 PM
    Último mensaje: smokfrog13
      Tutorial - Manual SQLmap: ataques SQLi - Inyección SQL Alex kriminal 0 68,623 02-01-2015 08:49 PM
    Último mensaje: Alex kriminal

    Salto de foro:


    Usuario(s) navegando en este tema: 1 invitado(s)
    Anuncios FBH (+ info)

    Foro Black Hat

    ForoBlackHat es un foro público con ánimo de desarrollo de aplicaciones y estrategias SEO para la comunidad hispano hablante cuyo objetivo sea el de aprender técnicas de posicionamiento.

    Nuestra comunidad cuenta con un equipo de programadores que desarrollan día a día nuevas herramientas gratuitas para los usuarios. ¡Siéntete libre de registrarte y comentar por los hilos!