Укрепление межсайтовых сценариев: проблемы с DOM - PullRequest
0 голосов
/ 13 апреля 2020

Как решить эту проблему для последних двух строк?
Раковина: jQuery () Метод включения: handleFilter () Флаги Taint: WEB, XSS

 function handleFilter(panelId, textFilterId) {
        var text = $('#' + textFilterId).val();
        if(text === ''){
            $('.removedByFilter').css('display', 'visible');
        } else {
            text = text.toLowerCase();
            $('.removedByFilter').css('display', 'visible');
            $('.' + panelId + ' .ui-treetable-data tr').removeClass('removedByFilter');
            $('.' + panelId + ' .ui-treetable-data tr td label:not([title*=' + text + '])').parent().parent('tr').addClass('removedByFilter');
            $('.' + panelId + ' .ui-treetable-data tr td label:not([title*=' + text + '])').parent().parent('tr').css( 'display', 'none' );
        }
    }

1 Ответ

0 голосов
/ 14 апреля 2020

Если есть какой-либо пользовательский ввод или данные, которые можно вставить, чтобы избежать DOM XSS, вы можете использовать js encoder <% = Encoder.encodeFor JS (Encoder.encodeFor HTML (untrustedData))%>. Для получения дополнительной информации вы можете прочитать https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html.

Если не может быть никакого вмешательства пользователя (для рассматриваемой переменной), т. Е. Ее сгенерированное системой значение или жестко закодированное значение, то его можно считать ложноположительным. Также следует проверить значения поступающей БД.

Надеюсь, это ответит на ваш вопрос.

...