首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript/Ajax劫持

Javascript/Ajax劫持
EN

Security用户
提问于 2015-09-22 16:06:35
回答 2查看 1.1K关注 0票数 1

我想知道下面的GET请求是否来自HTML文件和javascript文件,是否容易受到AJAX劫持/JavaScript劫持的攻击?

AJAX劫持:http://haacked.com/archive/2009/06/25/json-hijacking.aspx/ JavaScript劫持:http://www.net-security.org/dl/articles/JavaScript_Hijacking.pdf

1)

代码语言:javascript
复制
                    var req = new XMLHttpRequest();
                    req.open("GET", queryUrl, false);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4) {
                            if (this.status == 200) {
                                //do something }
                                                  }
                                             }
                   req.send();

2)

代码语言:javascript
复制
                var req = new XMLHttpRequest();
    req.open("GET", encodeURI(ODataPath() + type + "Var1"+ Value1+"), true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.onreadystatechange = function () {
        if (this.readyState == 4 /* complete */) {
            req.onreadystatechange = null;
             // Do Something
    };
    req.send();
};
EN

回答 2

Security用户

回答已采纳

发布于 2015-09-22 18:56:06

这只是非常旧的浏览器--例如火狐3中的一个问题。如果您的客户端代码没有删除任何“不可解析的浏览”,那么服务器端可能容易受到攻击。漏洞的另一个要求是,JSON可以通过GET检索。从您的问题中,我们已经可以看到这些是GET请求,所以您应该添加一个不可解析的遍历,或者进行一些检查,以确保它们在现代浏览器上。

另一种选择是什么也不做--如果这种旧浏览器的使用不常见的话,这可能不会对你构成风险。

票数 1
EN

Security用户

发布于 2015-09-22 17:01:09

您的调用是可以的,只要它们不像源中提到的那样发送带有敏感信息的JSON数组。也许您可以使用正常的HTTPS请求来代替该信息。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/100893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档