ranio Ответов: 1

Как избежать кросс-скриптовой атаки на данные, передаваемые как javascript в ASP.NET-что?


Я хочу избежать перекрестной атаки скрипта на данные, передаваемые как javascript в asp.net с помощью c#. Я передаю данные в javascript, где данные меток передаются во входные html-элементы управления, где манипулирование данными выполняется из всплывающего экрана/окна

document.getElementById('ctl00_cphDDS_lblSelectedOriginator').innerHtml = dialogWindow.Название организации;

Что я уже пробовал:

Передача функции javascript, как показано ниже:
<pre>function showModalWindowForUtilityOIC_PAUT(cntrl) {
    if (SessionTimeOutRedirection()) {
        
        var Bank = document.getElementById('ctl00_cphDDS_ddlBankType').value;
        var dialogWindow = window.showModalDialog('ViewOIC.aspx?Bank=' + Bank + '&&Type=U&&InstructionCode=' + cntrl, 'mywindow', 'dialogWidth:875px; dialogHeight:400px; center:yes; status = no; toolbar = no; menubar = no');
        if (dialogWindow != null) {
          
            //Updated on 10.06.2019 for Cross Side Script Attack Start
            document.getElementById('ctl00_cphDDS_lblSelectedOriginator').innerHTML = dialogWindow.CompanyName;
          
            
        }
        return true;
    }
}

1 Ответов

Рейтинг:
1

F-ES Sitecore

Вам нужно html-кодировать текст при установке его в innerHTML. Я не уверен, что javascript имеет встроенную функцию для этого, но есть пример кода о том, как это сделать, если вы google

HTML кодирование и декодирование с помощью Javascript - строго программного обеспечения[^]


ranio

что об использовании вместо через свойство innerText на innerHTML будет
документ.метода getElementById('ctl00_cphDDS_lblSelectedOriginator').через свойство innerText = dialogWindow.Название организации;

F-ES Sitecore

Попробуй и увидишь