一、网络安全
机密性(加密)、完整性(防伪造)、来源可靠性(签名)
程序漏洞
二、web前端安全
XSS:Cross Site Script(跨站攻击脚本)
往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行。
XSS的种类:
1.XSS-基于DOM的XSS
产生原因:当web page含有一些不受服务器端控制的DOM的时候发生,通过form、referer、location修改页面DOM。
解决方法:避免客户端的脚本对DOM的重写、重定向及其它敏感的操作,需要在客户端对form输入进行过滤。
可被攻击者利用的脚本:
URL相关操作
document.location=…
document.location.hostname=…
document.location.replace(…)
document.location.assign(…)
document.URL=…
document.referrer
document.URLUnencoded
window.navigate(…)
window.location
直接运行脚本
eval(…)
window.execScript(…)
window.setInterval(…)
window.setTimeout(…)
直接写入html代码
document.write(…)
document.writeln(…)
document.body.innerHtml=…
直接修改DOM
document.forms[0].action=…
document.attachEvent(…)
document.create…(…)
document.execCommand(…)
document.body
window.attachEvent(…)
打开或修改窗口
document.open(…)
window.open(…)
window.location.href=…
2.XSS-非持久性跨站
产生原因:直接将form或者query(cookie)中的字符带入到页面中,危险query字符参与html的构成(query字符并不被存储)。
解决方法:对输入进行过滤,对输出进行编码。
3.XSS-持久性跨站
产生原因:其破坏页面html结构的原理和非持久XSS一样,只是危险脚本来源不是query字符,而是数据库数据。
解决办法:对输入进行过滤,对输出进行编码。
4.XSS-基于字符集的跨站
产生原因:页面字符集不固定,用户输入非期望字符集的字符,有时会绕过前端的过滤。
解决办法:Web页面一定要指定字符集(GBK),XML中不仅要指定字符集,而且标签要闭合。
5.XSS-基于flash的跨站
产生原因:As脚本可以接受用户输入并操作cookie,攻击者可以配合其他XSS方法将恶意swf文件嵌入页面中。
解决办法:严格管理cookie的读写权限,对flash能接受的用户输入进行过滤和限定。
6.XSS- Self-inflicted XSS
产生原因:攻击者先把页面搞出漏洞,让其他用户再浏览这个有漏洞的页面的时候遭受攻击。这里已经不是严格意义上的XSS了。
解决方法:页面登录超时。
7.XSS-未经验证的跳转构成的跨站
产生原因:如果服务器端做302跳转,跳转的地址来自用户的输入,攻击者可以输入一个恶意的跳转地址来执行脚本。
解决方法:在后端来限定所接收的URL来自淘宝并做过滤。
8.XSS-Cookie构成的跨站
产生原因:破坏页面结构的原理和非持久跨站一致,Js或as可操作cookie,通过cookies提交query。
解决办法:一切来自客户端的cookie是不可信的,后端必须对客户端cookie做验证。
9.XSS- Escape-based XSS
产生原因:其破坏页面语义构成的原理和非持久XSS一致,使用畸形的UTF8字符串拼成URL。
解决方法:对输入进行过滤,对输出进行编码。
CSRF:Cross Site Request Forgery(通过肉鸡)(跨站伪造请求)
CSRF的发生:所有需要登录页面中的交互、表单提交、AJAX
CSRF的防范:临时签名(验证码、时间戳)、crumb
淘宝对CSRF的防范:在表单中指定token;
<input type=”hidden” value=”{$token}” name=”_tb_token_”>
在cookie中指定_tb_token_;尽量使用POST方法;Ajax时附带token。
三、Javascript安全须知
- 禁止使用外部引用的js,外链应当完全使用a.tbcdn.cn上的资源文件
- 慎用eval,setTimeout,setInterval和从不可信站点获取的字符串操作的函数。
- cookies操作一定要征询后端工程师的意见,避免撑破cookies的大小限制了。
- 前端代码禁止获取referer,所有referer的操作由后端工程师处理。
- 禁止发送页面相关信息到第三方站点
- 如果JSON返回的信息里含有用户的私密信息,需要加_tb_token_
- 禁止使用script标签来达到跨域访问的目的,应当使用flash实现跨域访问,可信域之间的跨域可以使用iframe
- 所有使用的数据必须经过服务端的验证。
- js代码需要经过jslint的测试
我们还需要安全规范
页面级的html规范/标准
- 统一的编码标准(URL/GBK/js unicode)
- 标签完整性
代码级的coding规范
- 统一的ajax接口规格
- 页面中php/jsp和js代码的参数传递
- 规范的javascript编写习惯
代码review制度
相关推荐
网络安全 web前端安全 Javascript安全须知 XSS Cross Site Script(跨站攻击脚本) CSRF: Cross Site Request Forgery(跨站伪造请求)
聚思鸿 WEB前端面试须知.doc
前端安全概览及防范
前端安全,xss、css、跨域、csp、编码等细节。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
淘宝北京研发中心前端团队为各位新同学精心准备了四次课程,500多张Slide,超过10个小时的课上时长,带来亢奋的课堂体验。我们将这些课程分享出来,希望对那些前端新人有所帮助。 今天是第一堂课,由灵玉主讲的...
淘宝网前端应用与发展,内容包括: 淘宝前端发展史, 每年的问题与挑战, 实践经验与心得, 前端发展展望。
1、在项目设计阶段添加对安全的考虑 2、重点项目的设计,需要webtc介入安全审核 1、上线的JS代码必须进行YUI混合压缩,去掉注释 2、模板的注释信息不能出
03-阿里-前端安全生产在ICBU的探索与落地-陈波.pdf
本web前端课设主要用到html,css知识点和一些少量的js语言编写的轮播图。适合于大一、大二正在做课设的同学进行参考。(我的博客里有做成的效果图和每个模块的解说内容,没有了解的同学可以先去看看做成功的页面效果...
前端js-淘宝广告.rar
淘宝客小程序前端+后台源码开源版,微信小程序,里面有配置教程
前端大厂最新面试题-前端安全.docx
其中包含的是我的博文“大型前端练习项目淘宝首页复盘!!!”需要使用的资源,主要是里面使用到的图片太多了,在博文中引了很不方便
网络安全--前端安全--防御手段学习笔记汇总
web前端-Web应用前端安全策略研究及应用.pdf
绝好的淘宝前端架构内部资料,主要是javascript部分。
前端安全生产的探索与实践
有7 个页面,完美展示了一个淘宝商城的页面,网页美观整洁,内含HTML+css+js,内附时间修改器,可修改文件创建时间
这本书是他们多年经验的总结,深入剖析了Web前端安全的方方面面,很多独特的见解发人深省。对于安全从业者和对互联网安全关心的读者,这本书是不容错过的上上之选。 ——吴翰清 《白帽子讲Web安全》作者,安全宝...
淘宝客 APP 源码,前端基于 Uniapp 开发的社交电商自营商城源码。感兴趣的自行下载研究。 商城功能 1、首页基础装修;2、丰富选品库;3、淘口令解析;4、支持京东;5、支持淘宝;6、支持聚划算;7、三级返利;8、...