| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Nginx配置valid_referer解决跨站请求伪造(CSRF) -> 正文阅读 |
|
[系统运维]Nginx配置valid_referer解决跨站请求伪造(CSRF) |
Nginx配置valid_referer解决跨站请求伪造(CSRF)文章目录漏洞说明漏洞描述跨站请求伪造(CSRF)。即使是格式正确有效且一致的请求也有可能在用户不知情的情况下发送。例如,如果某个 Web 服务器设计为接收客户机的请求时,没有任何机制来验证该请求是否确实是客户机发送的,那么攻击者就有可能诱导客户机向该 Web 服务器误发请求,而该请求将视为真实请求。这可通过 URL 、图像装入、XMLHttpRequest 等来完成,并可导致数据暴露或意外的代码执行。如果用户当前已登录到受害者站点,请求将自动使用用户的凭证(包括会话 cookie、IP 地址和其他浏览器认证方法)。通过使用此方法,攻击者可伪造受害者的身份,并以其身份提交操作。因此,Web应用程序应该检查所有客户端发起的请求,以发现其不合法的迹象。 跨站请求伪造 Wiki:https://en.wikipedia.org/wiki/Cross-site_request_forgery 危害等级CSRF 漏洞脆弱性的严重程度取决于受影响应用程序的功能。例如,对搜索页面的 CSRF 攻击的严重性低于对转账交易页面的 CSRF 攻击。 修复建议漏洞复现可以使用 curl 或 BurpSuite 工具携带非法 http_referer 复现测试 curl测试方法
测试结果:任意修改 referer 信息,服务器都能返回 302 Found BurpSuite测试方法BurpSuite 下载链接: 开启代理抓包后,Send to Repeater 漏洞修复为验证漏洞修复的情况和修复方案的可行性,这里使用 AppScan 对测试网站进行扫描,对比修复前后的结果。 修复前扫描测试
漏洞修复方案这里采用 AppScan 修复建议中的第7点,修改 nginx.conf,添加 http_referer 头配置
如下面例子中,允许 referer 的字段值为:127.0.0.1、192.168.64.149、*.baidu.com。最终效果可以理解为 server_name 和 valid_referers 两者互补。
漏洞修复验证仅当携带 server_name 为 referer 时,服务器返回了 302 Found;
修复后扫描测试
参考文章https://en.wikipedia.org/wiki/Cross-site_request_forgery |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:29:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |