2017-08-16 32 views

回答

0

是的,它是如果它有同域XSS漏洞。

在有XSS漏洞的页面,执行JS代码,如:

var xhr = new XMLHttpRequest(); 
xhr.open("POST", "/deletepost", true); 
xhr.setRequestHeader('Content-Type', 'application/json'); 
xhr.send(JSON.stringify({ 
    id: 1 
})); 

或者类似的东西(用jQuery):

$.post("/deletepost", { id:1 } ,function(data){}); 

和请求应的指引者的头部被发送该网站的域名。因此存在CSRF漏洞。

0

小故事:当XSS出现时,很难设计有效的CSRF保护。

通过引用标头缓解CSRF通常被认为是弱防御 - 有些情况下这些被剥离(由浏览器或代理服务器),您需要使这些安全失效。欲了解更多信息,请参阅: Is checking the referrer enough to protect against a CSRF attack?

XSS允许您在同一个域内发送查询,该查询允许更多的请求控制(包括设置引用标头)。所以这可以用来绕过这个机制。但是,XSS通常也可以用于绕过其他机制(如CSRF令牌)。

相关问题