当前位置: 代码迷 >> Web前端 >> 谈一下前端安全规范
  详细解决方案

谈一下前端安全规范

热度:144   发布时间:2012-07-30 16:19:05.0
谈谈前端安全规范

最近研究了css规范,下一步就是简单分析一下前端安全相关的知识。

?

以下内容整理之淘宝UED相关资料

?

?

1、XSS Cross Site Script跨站攻击脚本

?

方式主要有: ? ?

?

  • ?在Web页面插入恶意的html代码
  • ?用户浏览网页,嵌入在页面里面的代码会被执行

?

种类主要有:

?

  • 基于DOM的XSS
?? ? ? 产生的原因:
?? ? ? ? ? ??
?? ? ? ? ? ? ?i、页面含有一些不受服务器端控制的DOM
?? ? ? ? ? ? ?ii、通过form、referer、location修改页面的DOM


?? ? ? 解决的方法:

?? ? ? ? ? ? 避免客户端脚本对DOM的重写、重定向及其它的敏感操作,需要在客户端对form输入进行过滤


?? ??
  • 基于字符集的XSS
?? ??产生的原因:

?? ? ? ? ? 页面字符集不固定,用户输入非期望字符集的字符,逃过了过滤。

?? ??解决的方法:

?? ? ? ? ? i、页面一定要指定字符集
?? ? ? ? ? ii、XML不仅要指定字符集,而且要标签闭合

  • 持久性XSS
?? ? 产生的原因:

?? ? ? ? 破坏html结构,来源是数据库导致。

?? ? 解决的方法:

?? ? ? ? ?对输入进行过滤
?? ? ? ? ?对输出进行编码,如<>等这些进行编码的转换


  • 非持久性XSS
?? ??产生的原因:
?? ? ? ? ?
?? ? ? ? ? 直接将fomr或者搜索域中的字符扔到页面,比如搜索域输入带<script>的执行脚本,在展示搜索结果的时候会执行输入的脚本

?? ??解决的方法:

?? ? ? ? ?对输入进行过滤
?? ? ? ? ?对输出进行编码,如<>等这些进行编码的转换


  • 基于Flash的跨站
?? ? 产生的原因:

?? ? ? ? ?AS脚本接受用户输入并操作cookie,攻击者配合其他XSS方法将恶意swf文件嵌入页面

?? ??解决的方法:

?? ? ? ? i、管理好cookie的读写权限
?? ? ? ? ii、对flash接受用户输入进行过滤和限定


  • Self-inflicted XSS
?? ? ?产生的原因:

?? ? ? ? ?某些用户作为攻击者,对其他用户进行攻击,最常见的可能就是分享了。

?? ? ?解决的方法:
?? ? ? ??
?? ? ? ? ?对于自己不信任的尽量不要点击。


  • 未经验证的跳转构成的跨站
?? ? ??产生的原因:

?? ? ? ? ?服务端做302调整,攻击者利用这跳转到恶意的网站。
?? ?
?? ? ??解决的方法:

?? ? ? ? ?后端限定接收的URL


  • Cookie的跨站

?? ? ? 产生的原因:


?? ? ? ? ?脚本操作cookie,比如进行搜索提交等。
?? ?
?? ? ??解决的方法:

?? ? ? ? ?后端对cookie进行验证

?

?

2、CSRF(伪造请求)

?

?? 场景

?

?? ??表单提交相关,比如登录、注册

?? ? Ajax请求数据相关的

?

?? 防范:

?

?? ? 验证码、时间戳

?? ? 在表单中加入token,提交方式尽量POST

?? ? AJAX附带token

?

?

??可被利用的脚本:

?? ? ? ? ? ?i、URL相关的

?? ? ? ? ? ? ? document.location = ...
?? ? ? ? ? ? ? document.location.hostname = ...
?? ? ? ? ? ? ? document.location.replace(...)
?? ? ? ? ? ? ? document.referer
?? ? ? ? ? ? ? document.URL = ...
?? ? ? ? ? ? ? window.location

?? ? ? ? ? ii、直接运行的脚本

?? ? ? ? ? ? ? eval(....)
?? ? ? ? ? ? ??window.setInterval(...)
?? ? ? ? ? ? ? window.setTimeout(...)
?? ? ? ? ? ? ? window.execScript(...)
  相关解决方案