46 votes

Est-ce une page Web ou une image?

http://lcamtuf.coredump.cx/squirrel/

Selon l'auteur,

C'est un intégré à une page d'atterrissage pour une image. Vous pouvez faire un lien vers cette URL et obtenir le document HTML vous consultez en ce moment (bientôt inclure essentiel écureuil faits); ou d'intégrer l'URL exacte même comme un image sur votre écureuil sur le thème de la page: <a href="http://lcamtuf.coredump.cx/squirrel/">Click here!</a> <img src="http://lcamtuf.coredump.cx/squirrel/"> Pas de serveur-côté des hacks les parties concernées - la magie qui se passe dans votre navigateur.

En d'autres termes, si vous sautez cette URL dans votre navigateur, il rend comme une page web, mais vous pouvez également utiliser la même URL d'une image source.

Quel genre de sorcellerie est à l'œuvre ici?

46voto

nightcracker Points 34498

Le fichier lié est un polyglotte - une combinaison de langues. Elle peut être lue et comprise comme à la fois une image et un fichier HTML. C'est un truc simple. Si vous regardez le code source HTML que vous pouvez voir en haut:

ÿØÿà

Un rapide Google montre ce qui ressemble à un JPEG en-tête. Ce que le créateur n'est de stocker le code HTML de métadonnées JPEG et le format des données d'image dans un commentaire html. Assez chouette, mais pas de la magie.

Pour masquer le JPEG en-tête, il utilise les règles CSS pour cacher le corps et afficher uniquement certains éléments:

body { visibility: hidden; }
.n { visibility: visible; position: absolute; ...... }

Notez également qu'il n'est pas valide en HTML, par exemple parce que le commentaire de cacher les données de l'image n'est pas fermée, mais que les navigateurs toujours heureux de les accepter et de les rendre.

3voto

gopi1410 Points 2588

Ses une page html avec du contenu html avec les données de l'image.

Découvrez l'en-tête, il contient jpg en-tête. Dans la source de la première ligne contient les en ÿØÿà qui est un fichier jpeg en-tête. L'url http://lcamtuf.coredump.cx/squirrel/index.html (en annexe index.html), montre clairement son d'un fichier html. Donc, apparemment, cela peut être appelé à la fois comme une page web ou une image!

Vous pouvez renommer facilement un fichier jpg (ou de toute image file).html & lorsque vous ouvrez dans votre navigateur, il suffit de montrer une image, tout comme n'importe quelle autre image.

Une récente similaire truc dont je me souviens est que le fait de renommer le gif en jpg comme ici, mais encore, les données sont gif et les en-têtes contiennent gif.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X