前端网络安全

一、xss跨站脚本攻击

1、类型
​ 1)反射型:通过网络请求参数中加入恶意脚本,解析后执行触发。
​ 2)文档型:请求传输数据中截取网络数据包,对html代码插入再返回。
​ 3)存储型:通过输入发送到服务端存储到数据库。
2、防范措施
​ 1)对用户输入进行过滤或转码。
​ 2)csp(内容安全策略)。
​ 使CSP可用, 你需要配置你的网络服务器返回 HTTP头部

Content-Security-Policy: policypolicy参数是一个包含了各种描述你的CSP策略指令的字符串
除此之外,  <meta>  元素也可以被用来配置该策略, 例如<meta http-equiv="Content-Security-Policy"content="default-src 'self'; img-src https://*; child-src 'none';">

​ 参考资料:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP
​ 3) cookie中httpOnly。
​ JavaScript {{domxref(“ Document.cookie”)}} API 无法访问带有 HttpOnly 属性的cookie;此类 Cookie 仅作用于服务器。例如,持久化服务器端会话的 Cookie 不需要对 JavaScript 可用,而应具有 HttpOnly 属性。

二、csrf跨站请求伪造,利用当前登录状态发起跨站请求

1、CSRF攻击原理及过程
​ 1)用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
​ 2)在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
​ 3)用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
​ 4)网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
​ 5)浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。
2、类型
​ 1)自动发起get请求:改了类似图片src代码。
​ 2)自动发起post请求:恶意插入表单脚本进行提交。
​ 3)主动发起get请求:放入一个恶意链接提供点击。
3、防范措施
​ 1)cookie的SameSite属性,SameSite Cookie 允许服务器要求某个 cookie 在跨站请求时不会被发送,从而可以阻止跨站请求伪造攻击。
​ SameSite 可以有下面三种值:
None。浏览器会在同站请求、跨站请求下继续发送 cookies,不区分大小写。
**Strict。**浏览器将只在访问相同站点时发送 cookie。
**Lax。**与 Strict 类似,但用户从外部站点导航至URL时除外。 在新版本浏览器中,为默认选项,Same-site cookies 将会为一些跨站子请求保留,如图片加载或者 frames 的调用,但只有当用户从外部站点导航到URL时才会发送。如 link 链接
参考资料:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies
​ 2)验证来源站点,请求头中加入两个字段:origin域名信息和referer具体的url路径,检查是否是正常页面过来的请求

Origin:https://developer.mozilla.org
Referer:https://developer.mozilla.org/en-US/docs/Web/JavaScript

​ 3)csrf 增加token验证
csrf在ajax提交的时候通过请求头传递的给后台的
csrf在前端的key为:X-CSRFtoken,到后端的时候进行验证
csrf在form中提交的时需要在前端form中添加{%csrftoken%}

三、中间人攻击

1、什么是中间人攻击?
当数据传输发生在一个设备(PC/手机)和网络服务器之间时,攻击者使用其技能和工具将自己置于两个端点之间并截获数据;尽管交谈的两方认为他们是在与对方交谈,但是实际上他们是在与干坏事的人交流,这便是中间人攻击。
攻击方式:
嗅探:嗅探或数据包嗅探是一种用于捕获流进和流出系统/网络的数据包的技术。网络中的数据包嗅探就好像电话中的监听。记住,如果使用正确,数据包嗅探是合法的;许多公司出于“安全目的”都会使用它。
会话劫持:你曾经遇到过“会话超时”错误吗?如果你进行过网上支付或填写过一个表格,你应该知道它们。在你登录进你的银行账户和退出登录这一段期间便称为一个会话。这些会话通常都是黑客的攻击目标,因为它们包含潜在的重要信息。在大多数案例中,黑客会潜伏在会话中,并最终控制它。这些攻击的执行方式有多种。
SSL剥离:SSL剥离或SSL降级攻击是MiTM攻击的一种十分罕见的方式,但是也是最危险的一种。众所周知,SSL/TLS证书通过加密保护着我们的通讯安全。在SSL剥离攻击中,攻击者使SSL/TLS连接剥落,随之协议便从安全的HTTPS变成了不安全的HTTP。
2、防范措施
确保在URL前你所访问的网站有HTTPS
点击电子邮件前,检查电子邮件的发件人
如果你是一个网站管理员,你应当执行HSTS协议
不要在公共Wi-Fi网络上购买或发送敏感数据
确保你的网站没有任何混合内容
如果你的网站使用了SSL,确保你禁用了不安全的SSL/TLS协议。你应当只启用了TLS 1.1和TLS 1.2
不要点击恶意链接或电子邮件
不要下载盗版内容
将安全工具正确地安装在系统上

© 版权声明
THE END
喜欢就支持一下吧
点赞23赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容