46

http://lcamt​​uf.coredump.cx/squirrel/

著者によると、

これは、画像の埋め込みランディングページです。このURLにリンクして、現在表示しているHTMLドキュメントを取得できます(すぐに重要なリスの事実が含まれます)。または、画像とまったく同じURLを自分のリスをテーマにしたページに埋め込みます。<a href="http://lcamtuf.coredump.cx/squirrel/">Click here!</a> <img src="http://lcamtuf.coredump.cx/squirrel/">サーバー側のハッキングは必要ありません。魔法はブラウザで発生します。

つまり、そのURLをブラウザにポップすると、Webページとしてレンダリングされますが、画像ソースと同じURLを使用することもできます。

ここではどんな魔術が働いていますか?

(編集:そのサイトがオフラインになった場合は、上記のリンクのソースコードを編集してください。)

4

2 に答える 2

48

リンクしたファイルは、言語の組み合わせであるポリグロットです。画像とHTMLファイルの両方として読み取って理解することができます。それは簡単なトリックです。HTMLソースを見ると、上部に次のように表示されます。

ÿØÿà

簡単なGoogleは、これがJPEGヘッダーのように見えることを示しています。作成者が行うことは、HTMLをJPEGメタデータに保存し、JPEG画像データをhtmlコメントに保存することです。かなり気の利いたが魔法ではない。

JPEGヘッダーを非表示にするには、CSSルールを使用して本文を非表示にし、一部の要素のみを表示します。

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

また、たとえば画像データを非表示にするコメントが閉じられていないため、有効なHTMLではないことにも注意してください。ただし、ブラウザはそれを受け入れてレンダリングします。

于 2012-07-20T21:30:16.033 に答える
4

そのhtmlページには、画像データとともにhtmlコンテンツが含まれています。

ヘッダーを確認してください。jpgヘッダーが含まれています。ソースの最初の行にÿØÿàは、jpegヘッダーが含まれています。URL http://lcamt​​uf.coredump.cx/squirrel/index.html(追加されたindex.html)は、そのhtmlファイルを明確に示しています。したがって、これはWebページまたは画像の両方と呼ばれる可能性があります。

jpgファイル(または任意の画像ファイル)の名前を.htmlに簡単に変更できます。ブラウザで開くと、他の画像と同じように画像が表示されます。

私が覚えている最近の同様のトリックは、ここのようにgif​​の名前をjpgに変更することですが、それでもデータはgifであり、ヘッダーにはgifが含まれています。

于 2012-07-20T21:29:27.437 に答える