安全测试 之 常见安全漏洞:CORS

1. 背景

  • 安全测试定义:安全测试,是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程。
  • 目的:通过对系统进行全面的脆弱性安全测试,发现系统未知的安全隐患并提出相关建议,确保系统的安全性。安全性一般分为应用程序级别和系统级别,区别如下:

(1)应用程序级别:包括对应数据或业务功能的访问,核实应用程序的用户权限只能操作被授权访问的那些功能或数。

(2)系统级别:包括对操作系统的目录或远程访问,主要核实具备系统和应用程序访问权限的操作者才能访问系统和应用程序

2. 安全漏洞分类

  • 安全漏洞根据客户端与服务器端的分布,分为:

2.1 客户端

  • 钓鱼
  • 案链
  • XSS
  • 点击劫持
  • CSRF
  • URL 跳转

2.2 服务端

  • SQL注入
  • 命令注入
  • 文件上传漏洞
  • 服务器请求伪造(SSRF)
  • 反序列化漏洞
  • 命令执行漏洞
  • 文件包含漏洞
  • 逻辑漏洞

3. 安全漏洞详解

3.1 CORS

CORS,全称为 Cross-Origin Resource Sharing(跨域资源共享),是一种基于HTTP协议的机制,用于解决浏览器的同源策略限制所带来的跨域问题。同源策略是浏览器为了保护用户信息安全而实施的一种安全策略,它规定Web浏览器只允许脚本访问与其加载页面同源(即协议、域名和端口相同)的资源。当一个网页尝试从不同源的服务器请求资源时,如果没有适当的措施,浏览器会阻止这种跨域请求,以防止恶意网站读取另一个网站的数据。

3.1.1 同源策略

定义:同源(Same-Origin)是指在浏览器中,两个URL具有相同的协议、域名和端口号。为了保障安全,浏览器在同源策略(Same-Origin Policy)下,限制不同源的网页之间的资源访问。具体来说,如果两个URL在协议(如HTTP或HTTPS)、域名(如example.com)和端口号(如80或443)这三方面完全一致,则它们被认为是同源的

(1)同源策略的重要性

同源策略是浏览器的一种安全机制,用于防止恶意网站通过脚本操作用户的敏感数据。例如,它可以防止一个恶意网页读取另一个网页的cookie或LocalStorage数据。

(2)绕过同源策略的技术

尽管同源策略限制了跨域访问,但有一些合法的方法可以安全地绕过这些限制,例 :

  • CORS(跨域资源共享):允许服务器设置特定的HTTP头,明确允许哪些源可以访问
  • 服务器代理:通过服务器中转请求,以避免前端直接进行跨域请求。

3.1.2 跨域

例如:你有一个运行在 http://example.com 上的前端应用,这个应用需要从 http://api.weather.com 获取天气数据

过程:

(1) 前端请求:
(2) 跨域问题:
(3). 服务器配置CORS :
(4). 请求成功:
  • 浏览器检测到响应头中的CORS设置,允许此次跨域请求
  • 天气数据成功返回到前端应用,并显示在用户界面上,比如展示当前的温度和天气状况。

3.1.2 cors

(1) 定义
  CORS:(Cross-origin resource sharing)跨域资源共享,CORS是一种机制,这种机制通过在http头部添加字段,通常情况下,web应用A告诉浏览器,自己有权限访问应用B。这样就可以解决跨源的问题了
(2) 解决方法
  直接在服务器配置里面设置返回 或 Php等接口统一返回如下包头,通过设置http头部字段,让客户端有资格跨域访问资源。通过服务器的验证和授权之后,浏览器有责任支持这些http头部字段并且确保能够正确的施加限制Access-Control-Allow-Origin: 指定的域名
(3) bug样例和截图
相关推荐
ξ流ぁ星ぷ1324 天前
小林渗透入门:burpsuite+proxifier抓取小程序流量
安全·web安全·网络安全·小程序·安全性测试
爱吃土豆的程序员5 天前
深入理解跨域资源共享(CORS)安全问题原理及解决思路
java·springboot·cors·安全问题
英英-7 天前
安全性测试
安全性测试
汤米粥13 天前
网络请求自定义header导致跨域问题
vue.js·跨域·cors
undefined&&懒洋洋13 天前
解决跨域问题
前端·网络·后端·http·跨域·cors·1024程序员节
Elastic 中国社区官方博客19 天前
使用 NLP 和模式匹配检测、评估和编辑日志中的个人身份信息 - 第 1 部分
大数据·人工智能·elasticsearch·搜索引擎·ai·自然语言处理·安全性测试
海淀夏雨荷23 天前
安全测试用例:检查是否存在不安全的HTTP方法
web安全·安全性测试
陳錄生24 天前
Django CORS配置方案
数据库·python·django·cors
一条测试老狗1 个月前
OWASP发布大模型安全风险与应对策略(QA测试重点关注)
安全·安全性测试·威胁分析·大模型安全
生草工坊1 个月前
vulnhub-digitalworld.local DEVELOPMENT靶机
安全性测试