1.XSS (Cross-Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的, 比如获取用户的Cookie,导航到恶意网站,携带木马等。
2. Dom-Based XSS漏洞 威胁用户个体
Stored XSS(存储式XSS漏洞) 威胁的将是大量的用户
3.asp中默认对请求对象的数据进行了校验,如果数据中含有潜在xss攻击的字符,则会报错。对于一些cms系统等确实需要提交Html内容的地方要关闭它,在页面顶部的Page中加入ValidateRequest="false"这个属性。
4.在显示的时候如果需要对内容在显示之前进行HtmlEncode,除了可以使用HttpUtility.HtmlEncode进行手动编码的话,还可以使用Literal控件显示,如果修改Literal的Mode属性为Encode那么就会自动进行HtmlEncode然后显示。
5.xss漏洞修复
不要轻信用户提交上来的数据。
注意: 攻击代码不一定在<script></script>中
-
- 将重要的cookie标记为http only, 这样的话Javascript 中的document.cookie语句就不能获取到cookie了.
- 只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉。
- 对数据进行Html Encode 处理
- 过滤或移除特殊的Html标签, 例如: <script>, <iframe> , < for <, > for >, " for
- 过滤JavaScript 事件的标签。例如 "οnclick=", "onfocus" 等等。