一、跨站脚本攻击(XSS)
定义:
XSS又叫CSS (Cross Site Script) 。最危险和最常见的安全漏洞之一,这个漏洞是通常用于执行cookie窃取、恶意软件传播,会话劫持,恶意重定向。
分为三种类型:
1,非持久性XSS。劫持链接。最常用,使用最广。带有恶意脚本代码参数的URL被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。
2,持久性XSS(存储性)。指的是恶意脚本代码被存储进被攻击的数据库。这种攻击类型通常在留言板等地方出现。
3,基于 DOM 的 XSS。也称为”type-0 XSS”。它发生时, XSS 变量执行由 DOM 修改用户的浏览器网页的结果。在客户端的 HTTP 响应不会更改,但以恶意的方式执行的脚本。这这是最先进和最知名的type-0 XSS。大多数情况下,这个漏洞之所以存在是因为开发商不了解它是如何工作。
预防:
1,过滤 HTML 标记。例如URL、HTTP引用对象、从表单中获取参数、表单 POST 的参数、window.location、document.referrer、document.location、document.url、document.urlunencoded。通过HtmlEncode()方法编码html。
2,过滤编码特殊字符。例如且、单引号、双引号、下划线; &过滤为& <过滤为 < > 过滤为 > ” 过滤为 " ‘ 过滤为' /过滤为/
3,过滤主要的数据。例如cookie数据、标题数据、数据库中的数据。
常用的工具类库
1,AntiXSS,由微软推出的用于防止XSS攻击的一个类库。它的实现原理也是使用白名单机制。AntiXss.GetSafeHtmlFragment(html)方法,这个方法会替换掉html里的危险字符
二、DDOS攻击
三、SQL注入攻击
定义
通过提交精心构造的SQL语句,窃取数据库数据或者修改破坏数据库。其方式隐蔽,不易察觉。
预防
1,利用SqlCommand传参数。
2,过滤关键字,禁止运行法。
3,存储过程
四、网页挂马攻击
代码开发阶段要从两方面入手,其一是开发项目要制定编码规范,尤其要注意非法输入检查以及避免溢出漏洞;其二是在Web系统开发结束后,利用商用Web程序安全性评估软件或者评估服务对Web系统的安全性进行测试评估。