【OpenCV】在Linux上使用OpenCvSharp
-
跨站请求伪造
-
基本原理
- 用户在同一浏览器登陆了网站A并访问了攻击者在网站B上构造的恶意链接(针对网站A用户信息的一些数据操作)
- 用户点击恶意链接瞬间会触发csrf攻击;通过网站B后台以该用户的身份向网站A发送恶意请求达到非法操作
-
触发条件
- 网站A的某处操作存在CSRF漏洞(只通过cookie验证,没有过多的其他验证:验证码,referer信息,token值等)
- 用户登录了网站A并在登录期间访问了网站B中的恶意链接
-
防御
- Anti CSRF Toke(随机指定token)
-
浏览器同源策略
-
浏览器同源策略主要用于解决用户在访问网站资源时的安全问题;防止随意跳转到恶意网站造成资产损害
-
不受同源策略限制的资源
- 跨域资源的引入,比如:script, img, link, iframe
-
解决不同源脚本交互问题(即非同源资源加载的问题)
-
JSONP 解决跨域
- 在源网站中创建script脚本利用回调函数将数据以JSON格式传递过来
- JSON格式:键值对{key: value} 如{name : "jane"}
- 问题
- 由于使用回调函数传参所以只能使用GET方法;不安全;
-
CORS 解决跨域(跨域资源共享———Cross-origin resource sharing)
- 通过在对应的服务器设置白名单的方式来解决跨域资源交互的问题
- AJAX概念
- AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
- XMLHttpRequest是实现Ajax的一种方式
- 流程
- 浏览器检测到ajax请求为跨域请求时会自动加入Origin字段声明来源(协议+域名+端口号)
- CORS服务端收到该请求时判断Origin字段的url是否在可访问的白名单里
- 如果在白名单里则返回带有Access-Control-Allow-Origin和Access-Control- Allow-Credentials字段的响应包
- Access-Control-Allow-Origin(ACAO)
- Access-Control- Allow-Credentials(ACAC)
-
CORS漏洞
- 检测方法
- 常看响应包是否存在ACAO和ACAC两个字段,且ACAC=true
- 尝试修改origin查看ACAO的变化(不断变化则存在)