我读过这篇文章:http://jeremiahgrossman.blogspot.com/2007/01/gmail-xsrf-json-call-back-hackery.html
我尝试使用这种技术,但似乎(至少)我尝试过的大多数浏览器都失败了。基本上你在你的网站上返回JSON而其他人做了<script src="domain.com/response.php?json"></script>
,然后你设置自己的对象/数组构造函数来窃取数据。
现代浏览器仍然可行吗?我应该使用令牌来阻止这种情况吗?
答案 0 :(得分:2)
不,[]构造函数不再可重写,并且不再为对象初始值设定项调用setter。请参阅http://www.thespanner.co.uk/2011/05/30/json-hijacking/和Is JSON Hijacking still an issue in modern browsers?。
答案 1 :(得分:-4)
现代浏览器仍然可行吗?
是。浏览器不是问题。
非浏览器应用程序也可以发出HTTP请求。像curl
这样的应用程序可能会用于此类事情。或者你可以使用urllib2
在Python中编写一些东西来做CSRF。如果框架没有正确包含CSRF令牌,您可以轻松伪造所有类型的响应。
我应该使用令牌来阻止这种情况吗?
没有。
您应该找到一个框架,为您提供处理此问题的支持。