[MSDN]ASP.NET MVC2(11)MVC程序安全限定
说明:本内容来自微软的webcast,讲师为苏鹏。视频没有书方便(想看哪页就看哪页),所以抄录要点和老师语录。
内容介绍
- 常见网络安全攻击隐患
- 针对asp.net mvc防御体系
预备知识
- 安装VS2010
- 了解ASP.NET
- 了解Ajax基础知识
- 了解设计模式基本概念
安全性策略
SQL注入攻击
跨站脚本攻击
1 任何时候接受用户输入的时候都必须做好Encode,把所有的html标记去了.
2 永远不要对任何人使用不加检查的html操作输入
3 对cookie进行
常见攻击方式及其防范
·跨站脚本攻击
·跨域请求
·Cookie窃取
·超载攻击方式
Cross-site scripting (XSS)
- 跨站脚本攻击
使用XSS与CSS区别开
有两种,一种用户输入的信息有恶意脚本,信息没有过滤保存到数据库里面了。任何用户访问这个网页都可以看到这个脚本,所以就导致攻击了。这种称为被动攻击,因为被攻击者需要自己去查看这些信息。
另一种是主动攻击直接把信息推到用户端去。
被动攻击常见是使用iframe 的 src 到另一个网址。
主动注入常见篡改IE主页
避免XSS的办法
使用HTML.Encode来实现格式化所以内容
<%html.Encode(Model.FirstName)%>
<%:Model.FirstName)%> (mvc2 特性)
@webform已经内嵌Encode
Javascript 编码
对Url 传递过来的参数加以过滤
跨站请求
通过欺骗用户的浏览器来实现的。攻击者通过构造恶意代码,让浏览者替代攻击者去攻击其他目标网站。称为借刀杀人。
避免跨站欺骗攻击
盗用cookies
- Session cookies-
- 序列化cookies
持久化cookies的窃取
避免cookie被盗
httpOnly=true,意思是只可在服务端进行读写;在客户端读取,不可写。
可以在webconfig中设置。
关于重复提交、
使用白名单或者黑名单,限制那些列不可修改。、
避免暴露错误信息
发布网站改为On
保护你的controller
-【Authorize】来锁定你的Action
-【nonaction】来锁定所有不开发的Action
即没有Action的函数,供内部使用的函数。
总结
跨站脚本攻击
注入攻击
Cookies盗取
附:
标题:粗体+斜体+黑色
ppt文字:宋体+黑色
作者语录:斜体+黑色/红色/蓝色
我的心得:@开头