Json劫持与Ajax Jquery post请求
Json Hijacking with Ajax Jquery post request
昨天,我读了一些关于如何用Asp防止Json劫持的好文章。净MVC。规则是:永远不要在get请求中发送json格式的敏感数据。在google上简单搜索一下,你就可以很容易地学会如何定义一个脚本,该脚本将用于在他的auth cookie的帮助下从另一个用户提取数据。
但是在阅读了所有这些文章之后,我不知道为什么不可能用Ajax Jquery post请求来做Json劫持。我读到Ajax请求受同源策略,但JQuery有一个属性,能够做跨域请求。
在这种情况下,是否可以使用$. js脚本进行Json劫持?postJSON上的文档准备事件?如果是或不是,你能解释一下为什么吗?
这里有一段简单的代码来完成我的想法:
$.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>
但是JQuery有一个属性可以做跨域请求
是的,但它只适用于GET请求。您不能使用POST请求进行跨域AJAX调用。此外,大多数现代浏览器已经修复了覆盖__defineSetter__
方法的可能性。这种攻击的想法依赖于包括一个<script>
标签,从一个恶意网站指向你的网站。但是浏览器发送GET请求来检索这个脚本,而不是POST。这就是为什么使用POST与JSON传输敏感信息更安全。
相关文章:
- 当我在form_for中的text_field_tag中点击Enter时,如何禁止发出POST请求
- 为什么 AJAX POST 请求不起作用
- Ajax POST请求没有'我不了解PHP
- 防止双击执行两次jQuery post请求
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 如何使用Javascript获取POST请求填充的元素的值
- NodeJS中POST请求的请求体为null
- 在Fiddler JavaScript中识别POST请求
- 使用application/x-www-form-urlencoded使用node.js在post请求中发送数组
- 打开一个选项卡,并在firefox网络扩展中向其发出POST请求
- 通过AJAX向同一页面发送POST请求,并使用$_POST获取值
- Ajax Post请求不起作用
- 如何在cloud9中向server.js发送post请求
- mootools表单json post请求
- 可以'无法在CasperJS中复制POST请求
- 使用用户名/API令牌javascript的Jenkins POST请求
- 在表单上注入javascript以发送post请求
- 使用javascript在post请求中传递用户输入变量
- 如何使用javascript进行post请求
- 如何在Javascript中通过POST请求发送XML数据