相关疑难解决方法(0)

JSON Hijacking在现代浏览器中仍然是一个问题吗?

我正在使用Backbone.js和Tornado Web服务器.在Backbone中接收集合数据的标准行为是作为JSON数组发送.

另一方面,由于以下漏洞,Tornado的标准行为是不允许使用JSON Array:

http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx

相关的一个是:http: //haacked.com/archive/2009/06/25/json-hijacking.aspx

当我真的是一个对象列表时,我不必在对象中包装我的JSON.

我无法在现代浏览器中重现这些攻击(即当前的Chrome,Firefox,Safari和IE9).与此同时,我无法确认现代浏览器解决这些问题的任何地方.

为了确保我既没有任何可能的糟糕的编程技能,也没有糟糕的谷歌搜索技能:

在现代浏览器中,这些JSON劫持攻击现在仍然是一个问题吗?

(注意:很抱歉可能重复:在现代浏览器上可以进行'JSON劫持'吗? 但由于接受的答案似乎没有回答这个问题 - 我认为现在是时候再问一遍并得到一些更明确的解释.)

javascript browser security json tornado

142
推荐指数
1
解决办法
3万
查看次数

将JsonRequestBehavior设置为AllowGet时,可以披露哪些"敏感信息"

每当我URL在浏览器的地址栏中测试一个新的时候,我都会遇到同样的错误returning Json:使用内置的MVC JsonResult helper:

此请求已被阻止,因为敏感信息可能会在第三方网站上使用时向第三方网站披露GET request.允许GET requests,设置JsonRequestBehaviorAllowGet.

而不是咕噜咕噜地承认并解雇Fiddler做一个帖子请求,这一次,我想知道GET一个POST请求确实暴露了一个请求不是什么?

security asp.net-mvc json http-get http-post

107
推荐指数
5
解决办法
8万
查看次数

Json Hijacking与Ajax Jquery发布请求

昨天,我读了一些关于如何使用Asp.Net MVC防止Json Hijacking的好文章.规则是:永远不要通过get请求以json格式发送合理数据.通过在谷歌上进行简单搜索,您可以轻松地学习如何定义一个脚本,该脚本将用于在其身份验证cookie的帮助下从其他用途中提取数据.

但在阅读完所有这些文章之后,我不知道为什么用Ajax Jquery发布请求做Json Hijacking是不可能的.我读到Ajax请求受制于相同的源策略,但JQuery有一个属性可以执行跨域请求.

在这种情况下,是否可以在文档就绪事件中使用$ .postJSON对脚本执行Json Hijacking?如果是或否,你能解释我究竟是为什么吗?

这是一堆简单的代码来做我正在思考的事情:

$.postJSON = function (url, data, callback) {
   $.post(url, data, callback, "json");
};

<script>
    $(function(){
       $.postJSON("/VulnerableSite/ControllerName/ActionName", 
         { some data parameters }, function() {
         // Code here to send to the bad guy the data of the hacked user. 
         }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

非常感谢你.

javascript asp.net-mvc jquery json cors

5
推荐指数
1
解决办法
2170
查看次数