10

我正在寻找一个 XSS 漏洞示例,该漏洞只需使用 AntiXSS Encoder 4.1 Beta 作为运行时编码器(在 system.web/httpRuntime 中设置)即可停止。我更喜欢不需要任何显式调用 AntiXss 函数的东西,例如

@AntiXss.JavaScriptEncode(ViewBag.UserName)

我在想一些可以通过 ASP.NET 黑名单但不会通过 AntiXSS 白名单的东西,也许与备用字符集或编码有关?

我已经测试了 UTF-7 漏洞,但没有发现任何似乎影响现代浏览器的漏洞。

4

2 回答 2

4

没有。好吧,这并不完全正确,它们不是在现代浏览器上运行的。

SDL 要求它的原因是使用安全列表本质上更安全 - 因此,如果突然有人发现有问题的字符,它可能已经被编码(取决于您配置的安全列表)。

于 2011-04-27T17:28:18.993 回答
2

嗯...我没有关注 - antixss 需要显式调用,除非您正在谈论使用 .net 4s 功能来指定您自己的编码器并反过来调用它?在那种情况下,目前我所知道的一无所知。由于 AntiXss 在白名单上工作,因此应该没有问题,因为除了少数字符之外的所有内容都已编码。

仅供参考 - 在本地我可以让 utf-7 正常工作:

<HEAD><META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-7"> </HEAD>+ADw-SCRIPT+AD4-alert('XSS');+ADw-/脚本+AD4-
于 2011-04-27T13:51:39.883 回答