2017-08-16 30 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令牌)。

相關問題