Примеры уязвимостей XSS, которые получают с помощью ASP.NET 4 <%:%> или Razor, но обнаруживаются AntiXSS - PullRequest
10 голосов
/ 27 апреля 2011

Я ищу пример уязвимости XSS, которую можно было бы остановить, просто используя AntiXSS Encoder 4.1 Beta в качестве кодера времени выполнения (настройка в system.web / httpRuntime).Я бы предпочел что-то, что не требует каких-либо явных вызовов функций AntiXss, таких как

@AntiXss.JavaScriptEncode(ViewBag.UserName)

. Я думаю о том, что получит черный список ASP.NET, но не сделает это через белый список AntiXSS., может быть, что-то делать с альтернативными наборами символов или кодировкой?

Я тестировал уязвимости UTF-7, но не вижу ничего, что, похоже, влияет на современные браузеры.

Ответы [ 2 ]

4 голосов
/ 27 апреля 2011

Там нет ни одного.Ну, это не совсем так, они не работают на современных браузерах.

Причина, по которой SDL требует, заключается в том, что использование безопасного списка по своей природе более безопасно - поэтому, если вдруг кто-то обнаруживает проблемный символ, он может быть уже закодирован (в зависимости от настроенных безопасных списков).

2 голосов
/ 27 апреля 2011

хмм ... я не слежу - antixss требует явных вызовов, если вы не говорите об использовании .net 4s для указания собственного кодировщика и, в свою очередь, вызова его?В этом случае ничего не известно на данный момент, о котором я знаю.Так как AntiXss работает с белым списком, проблем быть не должно, поскольку все, кроме нескольких символов, закодировано.

fyi - локально я могу заставить работать utf-7 просто отлично:

<HEAD><META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-7"> </HEAD>+ADw-SCRIPT+AD4-alert(&#39;XSS&#39;);+ADw-/SCRIPT+AD4-
...