小编典典

Ajax调用响应是什么,例如'for(;;); {json data}'是什么意思?

ajax

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

这是呼叫和响应:

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

响应:

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

阅读 292

收藏
2020-07-26

共1个答案

小编典典

我有点晚了,TJ基本上解决了这个谜,但是我想我会在这个特定主题上分享一篇很好的论文,其中提供了很好的示例并提供了对该机制的更深入的了解。

这些无限循环是针对“ Java劫持”的一种对策,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对象的所有信息。

如所承诺的,链接到论文

2020-07-26