Сканер уязвимостей для asp.net помечает межсайтовый скриптинг - PullRequest
0 голосов
/ 28 августа 2018

Я запускаю тест уязвимости netspark, и он помечается следующим URL

http://localhost:54923/search/'ns='netsparker(0x005AAD)

Я не могу понять, что это за 'ns='netsparker(0x005AAD) или как решить эту проблему. Я очищаю ввод /search/searchkeyword, чтобы пользователь также кодировал ввод

Пользователь вводит ключевое слово в поле ввода поиска, после чего страница перенаправляется на страницу поиска с ключевым словом поиска http://localhost:54923/search/apple

1> не содержит и JS-скрипт

 if (filterInput.Contains("onmouseover") || filterInput.Contains("script") || filterInput.Contains("</style>") || filterInput.Contains("</script>") || filterInput.Contains("<") || filterInput.Contains("%3c") || filterInput.Contains("?") || filterInput.Contains("%3f") || filterInput.Contains("alert") )
            {
                search = System.Web.HttpUtility.HtmlEncode(filterInput);
                Response.Write("Invalid Search");
                Response.End();
            }

2> Я добавляю строку ниже в web.config, чтобы сделать ее более безопасной

<httpRuntime targetFramework="4.5" requestValidationMode="2.0" enable="true"  encoderType="System.Web.Security.AntiXss.AntiXssEncoder,System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

На основании этого у меня мало вопросов

  1. Что такое 'ns =' netsparker (0x005AAD) в URL, представляет ли он js
  2. Как я могу предотвратить это
  3. Меры, которые я принял, хороши, или мне нужно сделать больше.

После добавления нескольких шагов безопасности netsparket все еще помечает его как xss. Как я могу это исправить, чтобы он не помечался

1 Ответ

0 голосов
/ 30 августа 2018

В основном текущая очистка кода основана на черном списке, который является плохой практикой .

В этом конкретном случае вам не нужно очищать, а Кодировать входящий вход .

Проверка входных данных ASP.Net также основана на черном списке, который также не является безопасным .

...