小编典典

像'for (;;); 这样的 Ajax 调用响应是什么?{ json 数据 }' 是什么意思?

all

我发现这种语法在 Facebook 上用于 Ajax 调用。我在for (;;);响应开始时感到困惑。它是干什么用的?

这是调用和响应:

GET http://0.131.channel.facebook.com/x/1476579705/51033089/false/p_1524926084=0

回复:

for (;;);{"t":"continue"}

阅读 54

收藏
2022-07-01

共1个答案

小编典典

我有点晚了,TJ 基本上已经解开了这个谜团,但我想我会分享一篇关于这个特定主题的精彩论文,其中有很好的例子,并提供了对这个机制的更深入的了解。

这些无限循环是针对“Javascript 劫持”的一种对策,这种攻击通过Jeremiah
Grossman
发布的对 Gmail 的攻击引起了公众的关注。

这个想法既简单又漂亮:很多用户倾向于在 Gmail 或 Facebook 上永久登录。因此,您要做的是设置一个站点,并在恶意站点的 Javascript
中覆盖对象或数组构造函数:

function Object() {
    //Make an Ajax request to your malicious site exposing the object data
}

然后您<script>在该站点中包含一个标签,例如

<script src="http://www.example.com/object.json"></script>

最后,您可以阅读恶意服务器日志中有关 JSON 对象的所有信息。

正如所承诺的,论文的链接。

2022-07-01