Ocultar Javascript agotable en imágenes que pasan como válidas

Aquí hay una prueba de concepto interesante que podría ser útil o peligrosa según la situación en la que se encuentre. [jklmnn] inspirado en la obra de [Ange Albertini] que documentó una forma de ocultar javascript dentro del encabezado de un archivo .gif. No solo lleva el código completo, sino que tanto la imagen como el Javascript se consideran válidos.

Con solo un poco de trabajo [jklmnn] Hierve el concepto a las partes más básicas para que sea fácil de entender. Más tarde, se escribió un programa rápido para automatizar la incrustación de Javascript. Tome el código fuente si quiere probarlo usted mismo.

Volvamos a cómo esto podría ser beneficioso en lugar de perjudicial. ¿Qué sucede si trabaja en una computadora que no permite que el navegador cargue Javascript? Es posible que pueda insertar algo útil, como el truco que le permitió reproducir películas con Microsoft Excel.

  • okowsc dice:

    Un método interesante, tiene algunas aplicaciones.

  • yocanhazadd dice:

    NoScript, Adblock...

    • okowsc dice:

      Apuesto a que las personas en este sitio que realmente usan NoScript, agregan una excepción para algunos sitios web, cargan esta "imagen", encuentran alguna forma de ejecutarla y NoScript la trata como si se ejecutara desde el sitio mismo.

      • jklmnn dice:

        Tengo noscript solo e incluso permitir scripts de forma predeterminada permite que noscript evite que se ejecute esta imagen aunque no permite ejecutar scripts con un tipo MIME incorrecto (lo intenté).

        • okowsc dice:

          Oh, eso es inesperado, así que al menos lo cubriste. sigue siendo un posible vector de ataque.

          • jklmnn dice:

            Bueno, eso debería ser responsabilidad del navegador, pero debido a que muchas descargas o similares proporcionan tipos de mime incorrectos, lo han debilitado y Chrome, por ejemplo, solo muestra una advertencia en la consola si se proporciona un tipo de mimo incorrecto.

  • sean dice:

    Esto ha existido durante un minuto, pero creo que solo funciona si las imágenes no se presentan correctamente.

    http://marcoramilli.blogspot.com/2014/01/hacking-through-image-gif-turn.html?utm_content=buffer6b68f&utm_source=buffer&utm_medium=twitter&utm_campaign=Buffer

  • AmigoGuy dice:

    Supongo que querrán parchear eso algún día.

  • geremycondra dice:

    Esto solía llamarse gifar, y es una técnica muy antigua. Ciertamente no es un bien desenfrenado.

    • Hurr Durr dice:

      Que también se publicó aquí en 2008:
      https://la-tecnologia.com/2008/08/04/the-gifar-image-vulnerability/

  • desarrollador dice:

    Es por eso que nunca confías en la entrada del usuario. Siempre, al menos, ejecute imágenes cargadas con imagemagick o algún otro software de manipulación de imágenes y recupere los datos.

    • Twerk off dice:

      Gran recordatorio. Ojalá los navegadores hicieran lo mismo antes de enviar a través del analizador de secuencias de comandos.

      • jklmnn dice:

        Bastaría con que los navegadores comprobaran el tipo mime del script e impidieran su ejecución si no es texto/javascript.

  • que no dice:

    Es curioso cómo el sitio vinculado no funciona a menos que habilites un script.

    En cualquier caso, esto puede funcionar en páginas de Facebook para hackers turcos o sirios para hackear personas. U otros sitios web/sistemas populares en los que las personas pueden crear sus propias páginas, pero el script está inhabilitado intencionalmente.

    • jklmnn dice:

      Lo siento, aunque no soy bueno diseñando, así que tomé una plantilla de arranque y la adapté a mis necesidades. Hice otro lado completamente usando php y trabajando sin javascript, pero realmente no se ve bien.
      Javascript es una buena técnica para hacer cosas localmente (por ejemplo, verificar si el campo de entrada del correo electrónico contiene @ sin tener que volver a cargar la barra lateral). Pero debe usarse con cuidado y seguridad.

  • hgjhg dice:

    alerta ("Hola")

  • Dakota del Sur dice:

    elemento.valor = "https://coin-have.com/c/gAjV.js"

    • Alex dice:

      bien, esto te funcionó?

Ricardo Prieto
Ricardo Prieto

Deja una respuesta

Tu dirección de correo electrónico no será publicada.