Fork me on GitHub
秋染蒹葭

做懂安全的前端之一:简介与测试环境的搭建

安全只要关注的是私密性和可靠性,前者是指不被非法获取和利用,后者是指不丢失不损坏,以及不被串改。

简介

web安全

  • 代码层面
  • 架构层面,设计的安全
  • 运维层面

安全问题

  • 用户身份被盗用
  • 密码泄露
  • 用户资料被盗取
  • 网站数据库泄露
  • 其他

重要性

  • 直面用户,挑战严峻
  • 生命线
  • 威胁口碑

测试环境

nodejs

前端攻击都有哪些形式,我该如何防范

1 XSS攻击

XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

如果你将自己的用户名设定为这种执行脚本的方式,再让别人去访问你的连接的话,就可以达到在他人web环境中,执行自己脚本的效果了。我们还可以使用ajax,将其他用户在当前域名下的cookie获取并发送到自己的服务器上。这样就可以获取他人信息了。

最简单的办法防治办法,还是将前端输出数据都进行转义最为稳妥。

jQuery的append,img标签的使用,innerHTML赋值一个img标签

在URL的这个参数中,加入js代码,这样便又会被执行

阻止黑客通过js访问到cookie中的用户敏感信息。那么请使用cookie的HttpOnly属性,加上了这个属性的cookie字段,js是无法进行读写的

2 CSRF攻击

其实就是网站中的一些提交行为,被黑客利用,网站的

3 网络劫持攻击

我们的网站不是直接就访问到我们的服务器上的,中间会经过很多层代理,如果在某一个环节,数据被中间代理层的劫持者所截获,他们就能获取到使用你网站的用户的密码等保密数据。比如,我们的用户经常会在各种饭馆里面,连一些奇奇怪怪的wifi

如果你的网站还没有进行https加密的化,则在表单提交部分,最好进行非对称加密–即客户端加密,只有服务端能解开。这样中间的劫持者便无法获取加密内容的真实信息了。

###4 控制台注入代码
诱骗用户去往控制台里面粘贴东西

5 钓鱼

6 WebView被运营商劫持、注入问题

CSP可以有效的拦截页面中的非白名单资源,而且兼容性较好。在美团移动版的使用中,能够阻止大部分的页面内容注入。

HTTPS可以防止页面被劫持或者注入

7 给裸接口加一道防护,避免恶意盗刷和爬取

http://div.io/topic/1747


我们平时开发要注意些什么?

  • 开发时要提防用户产生的内容,要对用户输入的信息进行层层检测
  • 要注意对用户的输出内容进行过滤(进行转义等)
  • 重要的内容记得要加密传输(无论是利用https也好,自己加密也好)
  • get请求与post请求,要严格遵守规范,不要混用,不要将一些危险的提交使用jsonp完成。
  • 对于URL上携带的信息,要谨慎使用。

1

2

3

4

5

6

7

8

9

参考资料
JavaScript 常见安全漏洞和自动化检测技术
cookie窃取和session劫持

本文标题:做懂安全的前端之一:简介与测试环境的搭建

文章作者:zhyjor

发布时间:2018年05月26日 - 09:05

最后更新:2023年10月11日 - 02:10

原始链接:https://zhyjor.github.io/2018/05/26/做懂安全的前端之一:简介与测试环境的搭建/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

🐶 您的支持将鼓励我继续创作 🐶

热评文章