关于xss和csrf的文章似乎不对

时间:2019-06-29 14:45:12

标签: cookies token xss csrf

我在网上找到有关xss和csrf https://www.redotheweb.com/2015/11/09/api-security.html的文章,当您一直向下滚动到“解决方案”时,它会告诉您使用令牌和会话cookie。在此下方有一段示例代码。我的问题是,当发生xss攻击时,所谓的黑客可能只运行了这段代码。从本地存储中检索令牌,cookie将自动附加。还是我错过了什么?

authenticate(login, password)
    .then(function(authentication) {
        window.sessionStorage.setItem('token', authentication.token); // store token
    })
    .then(getAccounts)
    .then(function(accounts) {
        // display the accounts page
        // ...
    })
    .catch(function(error) {
        // display error message in the login form
        // ...
    });

/**
 * @return {Promise}
 */
function getAccounts() {
    return fetch('https://api.bobank.com/accounts', {
        headers: {
            'Authorization': 'Token ' + window.sessionStorage.getItem('token'), // <= include token
            'Content-Type': 'application/json; charset=utf-8',
            'Accept': 'application/json',
        },
        credentials: 'include' // <= include session cookie
    }).then(function(response) {
        return response.json();
    })
}

我的具体问题是这篇文章是否错误。并有解决此问题的安全方法。

1 个答案:

答案 0 :(得分:0)

是的,XSS攻击通常可以执行其余代码所能做的任何事情。一个普遍的误解是认为XSS需要窃取令牌或会话cookie才能成功。如果您容易受到XSS的攻击,那么XSS可以(如您所指出的)简单地执行相同的代码,从而实现CSRF。