1.1.1. 网络安全与攻防

同源策略

工作日常、面试重点、安全架构

简介

禁止一个源(origin)的脚本&文档和另一个源的脚本&文档交互

同源:两个URL的protocol、port、host相同

跨域的N种方法
  • Jsonp

利用不限制跨域脚本执行的特点

  • CORS(Cross-Origin-Resource-Sharing)跨域资源共用

在达成CORS之前,客户端需要先发送「预检请求」来询问服务端是否支持CORS。一般携带以下请求头部:

另外这个预检请求是浏览器自发的发送。

OPTIONS /resource/foo
Access-Control-Request-Method: POST
Access-Control-Request-Headers: origin, x-requested-with
Origin: https://foo.bar.org

MDN上的预检请求

如果服务端支持CORS就会返回响应,且头部带着允许的origin(也就是客户端地址)

使用额外HTTP头允许执行的源和另一个源进行交互

简单请求

当然我们需要辨别简单请求和复杂请求,因为他们的请求头部和响应头部不太一样,后者会多几个字段。

简单请求的两个条件:

  • 请求方法是以下三种方法之一:
    • HEAD
    • GET
    • POST
  • HTTP的头信息不超出以下几种字段:
    • Accept//客户端或代理能够处理的媒体类型
    • Accept-Language//优先的语言(中文、英文……)
    • Content-Language// 实体主体的自然语言
    • Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain

凡是不同时满足上面两个条件,就属于非简单请求。

复杂请求需要发送OPTIONS

CORS复杂请求

  • 代理

利用代理将不同源的资源代理到同源的资源

不通过浏览器,也就没有了同源策略

代理跨域

实战CORS

javascript

常见网络安全攻防

安全知识、面试重点、高压线

攻击手段
  • 阻断服务攻击(Denial of service attack)(DoS)

想办法将目标目标网络资源用尽

分布式阻断服务攻击(Distributed Denial of service)(DDos)

通过各种肉鸡去消耗目标的流量资源。

  • 地址解析欺骗(Address Resolution Protocol spoofing)ARP攻击

ARP

  • 跨站脚本攻击(Cross Site Scripting)XSS

将跨站脚本注入到被攻击网页上,用户打开网页会执行跨站脚本

XSS

  • SQL注入

SQL

  • 跨站请求伪造(csrf)

通过

  • HTTPS中间人攻击

也就是抓包的原理,需要安装伪造的非法根证书。

中间人攻击

防御策略

DDos:防火墙、交换机(路由器)、流量清洗

过滤异常流量

XSS:输入过滤,输出过滤。转义

SQL注入:输入过滤,数据库安全策略

1.1.2. 浏览器状态同步和路由

1.1.3. 工具链和其他

© Jasonk0 all right reserved,powered by Gitbook该文件修订时间: 2022-07-21 08:53:32

results matching ""

    No results matching ""