Sam*_*uel 5 javascript asp.net-mvc jquery json cors
昨天,我读了一些关于如何使用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)
非常感谢你.
但是JQuery有一个属性可以做跨域请求.
是的,但它只适用于GET请求.您不能使用POST请求进行跨域AJAX调用.此外,大多数现代浏览器已经修复了覆盖该__defineSetter__方法的可能性.此攻击的想法依赖于<script>从恶意站点包含指向您网站的标记.但浏览器发送GET请求以检索此脚本而不是POST.这就是使用POST通过JSON传输敏感信息更安全的原因.
| 归档时间: |
|
| 查看次数: |
2170 次 |
| 最近记录: |