微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Json Hijacking与Ajax Jquery发布请求

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

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

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

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

$.postJSON = function (url,data,callback) {
   $.post(url,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>

非常感谢你.

解决方法

but JQuery have a property to be able to do cross-domain request.

是的,但它只适用于GET请求.您不能使用POST请求进行跨域AJAX调用.此外,大多数现代浏览器已经修复了覆盖__definesetter__方法的可能性.这种攻击的想法依赖于包含< script>标记从恶意网站指向您的网站.但浏览器发送GET请求以检索此脚本而不是POST.这就是使用POST通过JSON传输敏感信息更安全的原因.

原文地址:https://www.jb51.cc/ajax/240661.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐