前端工程师学习路线 —— 网络安全(Web Security Knowledge)1

2020.3.8

  1. HTTPS
  2. CORS
  3. Content Security Policy
  4. OWASP Securty Risks

一、HTTPS

HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)

HTTPS是在HTTP基础上增加了TLS层;
在这里插入图片描述

  1. 内容加密。客户端到服务器的内容都是以加密形式传输,中间者无法直接查看明文内容。
  2. 身份认证。通过校验保证客户端访问的是自己的服务器。
  3. 数据完整性。防止内容被第三方冒充或者篡改。

二、CORS

CORS(Cross-origin resource sharing,跨域资源共享)

当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求;
实现CORS的关键在于服务器,只要服务器实现CORS接口,就可以实现跨域通信;
对于前端来说无需做任何配置,与发送普通ajax请求无异。


三、Content Security Policy

内容安全策略(Content Security Policy,CSP)

核心思想:网站通过发送一个 CSP 头部,来告诉浏览器什么是被授权执行的与什么是需要被禁止的。
实质:白名单制度。它的实现和执行全部由浏览器完成,开发者只需提供配置。
应对挑战:减少和报告 跨站点脚本(cross-ste scripting,XSS)攻击 ,XSS 攻击利用了浏览器对于从服务器所获取的内容的信任。

实例:

	Content-Security-Policy: default-src ‘self’; img-src *;
                         object-src *.cdn.chziyue.com;
                         script-src scripts.chziyue.com

该策略默认只允许资源从同一来源加载,但允许图像从任何URI加载,插件内容只从指定的CDN地址加载,外部脚本仅从scripts.chziyue.com加载。

有需要再深入学习
https://blog.csdn.net/u014465934/article/details/84199171


四、OWASP Securty Risks

OWASP(开放式Web应用程序安全项目)

“10项最严重的Web 应用程序安全风险列表”

A1-Injection 注入

在将不受信任的数据作为命令或查询的一部分发送到解释器时, 会发生诸如 SQL、NoSQL、OS 和 LDAP 注入等注入缺陷。攻击者的恶意数据可以诱使解释器在没有适当授权的情况下执行非预期命令或访问数据。

A2-Broken Authentication 失效的身份认证

与身份验证和会话管理相关的应用程序功能通常不正确地实现, 使攻击者能够破坏密码、密钥或会话令牌, 或利用其他实现缺陷来暂时或永久使用其他用户的身份。

A3-Sensitive Data Exposure 敏感数据泄露

许多 web 应用程序和 api 都无法正确保护敏感数据, 如财务、医疗保健和 PII。攻击者可以窃取或修改此类受保护的弱数据, 以进行信用卡诈骗、身份盗窃或其他犯罪。敏感数据可能在没有额外保护的情况下被破坏, 例如在静止或传输时进行加密, 并且在与浏览器交换时需要特殊的预防措施。

A4-XML External Entities (XXE) 外部实体

许多较早或配置不佳的 xml 处理器评估 xml 文档中的外部实体引用。外部实体可用于使用文件 URI 处理程序、内部文件共享、内部端口扫描、远程代码执行和拒绝服务来攻击公开内部文件。

A5-Broken Access Control 失效的访问控制

对允许通过身份验证的用户执行的限制通常不正确。攻击者可以利用这些缺陷访问未经授权的功能和/或数据, 例如访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

A6-Security Misconfiguration 安全配置错误

安全配置错误是最常见的问题。这通常是由于不安全的默认配置、不完整或临时配置、打开的云存储、配置错误的 HTTP 标头以及包含敏感信息的详细出错消息造成的。不仅必须对所有操作系统、框架、库和应用程序进行安全的配置, 而且必须及时修补/升级它们。

A7-Cross-Site Scripting (XSS) 跨站脚本

当应用程序在新网页中包含不受信任的数据而不进行正确的验证或转义时, 或使用可以创建 HTML 或 JavaScript 的浏览器 API 更新现有网页时, 就会出现 XSS 缺陷。XSS 允许攻击者在受害者的浏览器中执行脚本, 这样可以劫持用户会话、污损网站或将用户重定向到恶意站点。

A8-Insecure Deserialization 不安全的反序列化

不安全的反序列化通常会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行, 也可以使用它们来执行攻击, 包括重播攻击、注入攻击和特权升级攻击。

A9-Using Components with Known Vulnerabilities 使用含有已知漏洞的组件

组件 (如库、框架和其他软件模块)与以应用程序相同的权限运行。如果有漏洞的组件被利用, 这样的攻击可以促进严重的数据丢失或服务器接管。使用已知漏洞的组件的应用程序和 api 可能会破坏应用程序防御并启用各种攻击和影响。

A10-Insufficient_Logging&Monitoring 不足的日志记录和监控

日志记录和监视不足, 加之与事件响应的集成丢失或无效, 使得攻击者能够进一步攻击系统、维护持久性、转向更多系统以及篡改、提取或销毁数据。大多数违规研究显示, 发现违约的时间超过200天, 通常由外部检测, 而不是内部过程或监控。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值