-
攻打的目标
- 获得在线敏感数据和敏感操作
- 利用客户的浏览器
- 执行 js 做提交或者获得 cookie 认证
-
实质
-
获得认证:Cookie
-
影响 Cookie 认证信息的几个重要属性
- Domain:向哪些域发送本 cookie
- Path:向哪些门路发送本 cookie
- Secure:向非 ssl 服务发送本 cookie
- Httponly:利用 javascript 获取本 cookie
- P3p:当页面作为 iframe 等 html 标签嵌入时,ie 是否承受并且发送本 cookie
-
影响客户端发送或者获取数据的 Domain 同源策略
- 客户端脚本的安全性规范
- 同协定,同域名,同端口
-
- 获得操作数据的权限:ajax/csrf
- P3p
-
-
应答计划
-
从架构上解决问题
-
设计时须要思考的
- 咱们的 Cookie 认证信息真的须要设置到整个域么
- 不同安全级别的服务能够放到一个域下么
- 前台和后盾在安全等级上是离开的,真的离开了么
- 咱们重要的业务真的曾经独立开来了么
-
解决
- 认证 cookie 和应用程序 cookie 独立开(爱护认证)
- Httponly(放到哪个域名)
- 应用程序后盾敏感操作和前台操作域名独立(同源策略)
- 慎用 p3p
-
-
XSS 进攻计划
- 过滤输出中的特殊符号
- 辨别富文本和非富文本,encode 非富文本
- 对富文本开始做语法树剖析
- 增强表单验证
- ……
-
从设计上解决问题
- 信赖域的划分是平安设计的根底
- 拜访控制系统是平安设计的外围
- 数据与代码拆散是平安设计的体现
- 白名单与不可预测性是平安设计的保障
-
炒鸡辣鸡原创文章,转载请注明起源