Межсайтовый скриптинг в XSS отражен в файле JavaScript - PullRequest
0 голосов
/ 03 октября 2018

Мой файл JS имеет следующий код

function changeLanguage(newLang) {
    var winLoc = String(this.window.location);
    var pos = winLoc.indexOf("lang=");
    var spacer = '?';
    if(pos >0) {
        var curLang = winLoc.substring(pos+5,pos+7);
        winLoc = winLoc.replace('lang=' + curLang, 'lang='+newLang);

    } else {
        if(winLoc.indexOf("?") > 0) {
            spacer = '&';
        }

        winLoc = winLoc + spacer + 'lang=' + newLang;
    }

    this.window.location = winLoc;  //here is the issue


}

При выделении строки при выделении строки при сканировании кода с помощью HP Fortify Tool я сталкиваюсь с проблемой межсайтового скриптинга XSS.

что я могу сделатьздесь, чтобы HP Fortify не рассматривал это как уязвимость?Заранее спасибо

1 Ответ

0 голосов
/ 03 октября 2018

Назначить местоположение с помощью location.assign .Он сравнивает происхождение вашего скрипта с желаемым URL-адресом перед его назначением.
По ссылке выше:

Если назначение не может быть выполнено из-за нарушения безопасности, DOMException из SECURITY_ERROR тип брошен.Это происходит, если источник сценария, вызывающего метод, отличается от источника страницы, первоначально описанной объектом Location, в основном, когда сценарий размещен в другом домене.

Вы можететакже используйте location.replace , чтобы предотвратить сохранение текущей страницы в истории сеансов.

...