首页 > 代码库 > asp.net初级 Web原则 xss漏洞

asp.net初级 Web原则 xss漏洞

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>中

    1. 将重要的cookie标记为http only,   这样的话Javascript 中的document.cookie语句就不能获取到cookie了.
    2. 只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉。
    3. 对数据进行Html Encode 处理
    4. 过滤或移除特殊的Html标签, 例如: <script>, <iframe> ,  &lt; for <, &gt; for >, &quot for
    5. 过滤JavaScript 事件的标签。例如 "onclick=", "onfocus" 等等。