【发布时间】:2014-01-12 05:04:10
【问题描述】:
我正在对分配给我的一个非常古老的项目执行安全评估,该项目使用 ASP.NET WebForms。基本上,站点周围有很多“返回”按钮,这些按钮会将用户重定向回上一页(基于 Return Url 值)。
我发现的问题是按钮功能是用 JavaScript 编码的,周围有标签,这意味着你可以简单地使用类似“;alert('INSECURE!');”的东西在返回 url 的末尾,它会在单击按钮后立即执行脚本。
为了清理它,添加了验证 - 每当请求包含单引号 (')、双引号 (") 或 符号时,都会引发 Invalid Request URL 异常。我对安全场景,所以对我来说这听起来是一个很棒的方法。
不幸的是,正如我所说,在 XSS 预防方面我是初学者。有没有人做过类似的事情并且知道这种方法的漏洞? (是的,我进行了研究。花了几个小时研究不同的材料和技术,但找不到任何类似的东西,但也不太过时)。
提前致谢!
【问题讨论】:
-
这不是一个绝妙的方法。防止各种形式的 XSS 涉及确保用户提供的内容针对其注入的每个上下文(HTML、JavaScript、SQL、日志文件等)进行适当的中和。
-
您可能想查看ASP.NET anti-XSS library,它是由对 XSS 有更多了解并知道他们在 ASP.NET 上下文中做什么的人开发的
标签: javascript asp.net security xss