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 弹出到浏览器中,它会呈现为网页,但您也可以使用相同的 URL 作为图像源。

什么样的巫术在这里起作用?

(编辑:如果该站点离线,则来自上述链接的源代码。)

4

2 回答 2

48

您链接的文件是多语言 - 多种语言的组合。它既可以作为图像也可以作为 HTML 文件来阅读和理解。这是一个简单的技巧。如果您查看 HTML 源代码,您可以在顶部看到:

ÿØÿà

一个快速的谷歌显示这看起来像一个 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 标题。网址http:// lcamt​​uf.coredump.cx/squirrel/index.html(附加 index.html)清楚地显示了它的一个 html 文件。所以显然这可以称为网页或图像!

您可以轻松地将 jpg 文件(或任何图像文件)重命名为 .html 并且当您在浏览器中打开时,它只会显示图像,就像任何其他图像一样。

我记得最近的一个类似技巧是将 gif 重命名为 jpg 但数据仍然是 gif 并且标题包含 gif。

于 2012-07-20T21:29:27.437 回答