CSRF vs SSRF详解

一、CSRF(跨站请求伪造)攻击全解

攻击原理示意图

受害者浏览器
├── 已登录银行网站(Cookie存活)
└── 访问恶意网站执行:<img src="http://bank.com/transfer?to=hacker&amount=1000000">

核心技术要点

  1. 信任滥用机制

    • 利用浏览器自动携带Cookie的特性,伪造已认证用户的HTTP请求(GET/POST均可)
    • 经典攻击链:诱导点击 → 携带身份Cookie → 执行敏感操作
  2. 绕过同源策略的技巧

    <!-- 表单自动提交 -->
    <form action="http://api/password/change" method="POST"><input type="hidden" name="new_password" value="hacked">
    </form>
    <script>document.forms[0].submit();</script>
    
  3. 高级攻击变种

    • JSON CSRF:通过<script>标签触发JSONP接口
    • CORS滥用:利用宽松的CORS配置发送跨域请求

二、SSRF(服务端请求伪造)攻击深潜

内网渗透典型场景

攻击者 --> 可控服务器请求参数(如URL=xxx)↓云服务器元数据(http://169.254.169.254/latest/meta-data)↓获取临时密钥 → 接管云主机

协议利用与绕过技巧

协议攻击用途示例Payload
file://读取服务器本地文件url=file:///etc/passwd
dict://端口扫描与服务指纹识别url=dict://127.0.0.1:6379/info
gopher://构造任意TCP协议包发送Redis未授权访问指令

云环境SSRF自动化工具

# 使用SSRFmap进行自动化探测
python3 ssrfmap.py -r data.txt -p url -m cloud

三、双S攻击核心差异对照表
维度CSRFSSRF
攻击媒介利用用户浏览器利用服务端网络权限
目标系统第三方Web应用服务器所在内网/云环境
数据流向客户端 → 目标站点服务端 → 内部系统
检测工具Burp Suite CSRF PoC GeneratorGopherus + Wireshark

四、企业级防御方案

CSRF立体化防御

  1. 令牌动态化(Spring Security示例)

    // 生成Token
    String csrfToken = UUID.randomUUID().toString();
    request.getSession().setAttribute("csrfToken", csrfToken);// 验证Token
    if (!request.getParameter("csrfToken").equals(session.getAttribute("csrfToken"))) {throw new CsrfException();
    }
    
  2. SameSite Cookie策略(Nginx配置)

    add_header Set-Cookie "JSESSIONID=xxx; Path=/; Secure; SameSite=Strict";
    
  3. 关键操作二次验证

    • 敏感操作(如转账)强制要求短信/邮箱验证

SSRF深度防御体系

  1. 请求链路上锁(Java白名单校验)

    private static final Pattern DOMAIN_WHITELIST = Pattern.compile("^(https?://)(image\.example\.com|cdn\.safe\.net)");if (!DOMAIN_WHITELIST.matcher(url).matches()) {throw new SSRFException("非法域名请求");
    }
    
  2. 协议与端口管控(Linux防火墙策略)

    # 禁止服务器出站访问内网段
    iptables -A OUTPUT -d 10.0.0.0/8 -j DROP
    iptables -A OUTPUT -d 172.16.0.0/12 -j DROP
    
  3. 云环境加固方案

    • 禁用EC2元数据接口的公共访问(AWS示例)
    aws ec2 modify-instance-metadata-options --instance-id i-1234567890abcdef0 --http-tokens required
    

五、攻防演练实战案例

CSRF钓鱼攻击复现

  1. 使用Burp Suite生成钓鱼页面:

    Pro → Generate CSRF PoC → 自动生成含隐藏表单的HTML
    
  2. 诱导用户点击后,观察后台权限变更日志

SSRF内网Redis攻防

  1. 构造Gopher协议攻击包:

    # 使用Gopherus生成Redis未授权访问Payload
    ./gopherus.py --exploit redis
    
  2. 通过SSRF漏洞执行flushall等危险指令


六、防御效果验证工具
工具名称用途使用场景
CSRF Tester浏览器插件自动检测CSRF漏洞研发自测阶段快速验证
SSRF Sheriff自动化模糊测试SSRF潜在点上线前安全扫描

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/74037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python PDF解析利器:pdfplumber | AI应用开发

Python PDF解析利器&#xff1a;pdfplumber全面指南 1. 简介与安装 1.1 pdfplumber概述 pdfplumber是一个Python库&#xff0c;专门用于从PDF文件中提取文本、表格和其他信息。相比其他PDF处理库&#xff0c;pdfplumber提供了更直观的API和更精确的文本定位能力。 主要特点…

niuhe 插件教程 - 配置 MCP让AI更聪明

niuhe 插件官方教程已经上线, 请访问: http://niuhe.zuxing.net niuhe 连接 MCP 介绍 API 文档的未来&#xff1a;MCP&#xff0c;让协作像聊天一样简单. MCP 是 Model Context Protocol(模型上下文协议)的缩写&#xff0c;是 2024 年 11 月 Claude 的公司 Anthropic 推出并开…

26考研——排序_插入排序(8)

408答疑 文章目录 二、插入排序基本概念插入排序方法直接插入排序算法描述示例性能分析 折半插入排序改进点算法步骤性能分析 希尔排序相关概念示例分析希尔排序的效率效率分析空间复杂度时间复杂度 九、参考资料鲍鱼科技课件26王道考研书 二、插入排序 基本概念 定义&#x…

精华贴分享|从不同的交易理论来理解头肩形态,殊途同归

本文来源于量化小论坛策略分享会板块精华帖&#xff0c;作者为孙小迪&#xff0c;发布于2025年2月17日。 以下为精华帖正文&#xff1a; 01 前言 学习了一段时间交易后&#xff0c;我发现在几百年的历史中&#xff0c;不同门派的交易理论对同一种市场特征的称呼不一样&#x…

leetcode437.路径总和|||

对于根结点来说&#xff0c;可以选择当前结点为路径也可以不选择&#xff0c;但是一旦选择当前结点为路径那么后续都必须要选择结点作为路径&#xff0c;不然路径不连续是不合法的&#xff0c;所以这里分开出来两个方法进行递归 由于力扣最后一个用例解答错误&#xff0c;分析…

北斗导航 | 改进奇偶矢量法的接收机自主完好性监测算法原理,公式,应用,RAIM算法研究综述,matlab代码

改进奇偶矢量法的接收机自主完好性监测算法研究 摘要 接收机自主完好性监测(RAIM)是保障全球导航卫星系统(GNSS)安全性的核心技术。针对传统奇偶矢量法在噪声敏感性、多故障隔离能力上的缺陷,本文提出一种基于加权奇偶空间与动态阈值的改进算法。通过引入观测值权重矩阵重…

深度神经网络全解析:原理、结构与方法对比

深度神经网络全解析&#xff1a;原理、结构与方法对比 1. 引言 随着人工智能的发展&#xff0c;深度神经网络&#xff08;Deep Neural Network&#xff0c;DNN&#xff09;已经成为图像识别、自然语言处理、语音识别、自动驾驶等领域的核心技术。相比传统机器学习方法&#x…

经典论文解读系列:MapReduce 论文精读总结:简化大规模集群上的数据处理

&#x1f9e0; MapReduce 论文解读总结&#xff1a;简化大规模集群上的数据处理 原文标题&#xff1a;MapReduce: Simplified Data Processing on Large Clusters 作者&#xff1a;Jeffrey Dean & Sanjay Ghemawat 发表时间&#xff1a;2004 年 发表机构&#xff1a;Google…

通过Appium理解MCP架构

MCP即Model Context Protocol&#xff08;模型上下文协议&#xff09;&#xff0c;是由Anthropic公司于2024年11月26日推出的开放标准框架&#xff0c;旨在为大型语言模型与外部数据源、工具及系统建立标准化交互协议&#xff0c;以打破AI与数据之间的连接壁垒。 MCP架构与Appi…

网页版五子棋项目的问题处理

文章目录 config.WebSocketConfig将键值对加⼊OnlineUserManager中线程安全、锁ObjectMapper来处理json针对多开情况的判定处理连接关闭、异常&#xff08;玩家中途退出&#xff09;后的不合理操作游戏大厅数据更新 config.WebSocketConfig 把MatchAPI注册进去 • 在addHandle…

【初探数据结构】归并排序与计数排序的序曲

&#x1f4ac; 欢迎讨论&#xff1a;在阅读过程中有任何疑问&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;如果你觉得这篇文章对你有帮助&#xff0c;记得点赞、收藏&#xff0c;并分享给更多对数据结构感…

算法刷题记录——LeetCode篇(8.7) [第761~770题](持续更新)

更新时间&#xff1a;2025-03-30 算法题解目录汇总&#xff1a;算法刷题记录——题解目录汇总技术博客总目录&#xff1a;计算机技术系列博客——目录页 优先整理热门100及面试150&#xff0c;不定期持续更新&#xff0c;欢迎关注&#xff01; 763. 划分字母区间 给你一个字…

Pod 网络与 CNI 的作用

在 Kubernetes 中&#xff0c;Pod 网络 是实现容器间通信的核心机制&#xff0c;每个 Pod 拥有独立的 IP 地址&#xff0c;可直接跨节点通信。CNI&#xff08;Container Network Interface&#xff09; 是 Kubernetes 的网络插件标准&#xff0c;负责为 Pod 分配 IP、配置网络规…

使用keepalived结合tomcat和nginx搭建三主热备架构

角色主机名软件IP地址用户client172.25.250.90keepalivedVIP172.25.250.100keepalivedVIP172.25.250.101keepalivedVIP172.25.250.102masterserverAkeepalived, nginx172.25.250.30backupserverBkeepalived, nginx172.25.250.31backupserverCkeepalived, nginx172.25.250.32web…

STRUCTBERT:将语言结构融入预训练以提升深度语言理解

【摘要】最近&#xff0c;预训练语言模型BERT&#xff08;及其经过稳健优化的版本RoBERTa&#xff09;在自然语言理解&#xff08;NLU&#xff09;领域引起了广泛关注&#xff0c;并在情感分类、自然语言推理、语义文本相似度和问答等各种NLU任务中达到了最先进的准确率。受到E…

leetcode_977. 有序数组的平方_java

977. 有序数组的平方https://leetcode.cn/problems/squares-of-a-sorted-array/ 1.题目 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输入&#xff1a;nums [-4,-1…

Nginx—nginx.conf 配置结构详解

一、nginx.conf 配置结构 函数 说明 main 全局配置 event 配置工作模式以及连接数 http http模块相关配置 server 虚拟主机配置&#xff0c;可以有多个 location 路由规则&#xff0c;表达式 upstream 集群、内网服务器&#xff08;负载均衡也在这里边配&#xff…

斐波那契数列----C语言

关于斐波那契 已知&#xff1a; 问题背景&#xff1a;一对兔子从第3个月开始每月生一对新兔子&#xff0c;新兔子同样在第3个月开始繁殖。 关键观察&#xff1a; 第1个月&#xff1a;1对&#xff08;初始兔子&#xff09;。 第2个月&#xff1a;1对&#xff08;未成熟&#…

vulhub靶场—— Tomcat8

目录 一、漏洞描述 二、靶场搭建 三、漏洞复现 1、弱密码 2、文件上传 一、漏洞描述 环境描述&#xff1a; Tomcat 支持后台部署 war 文件&#xff0c;可以直接将 webshell 部署到 web 目录下。tomcat 默认的管理页面 manager 使用 basic 认证用户名和密码登录&#xff0…

使用 Spring AI Aliabab Module RAG 构建 Web Search 应用

使用 Spring AI Alibaba 构建大模型联网搜索应用 Spring AI 实现了模块化 RAG 架构&#xff0c;架构的灵感来自于论文“模块化 RAG&#xff1a;将 RAG 系统转变为类似乐高的可重构框架”中详述的模块化概念。 Spring AI 模块化 RAG 体系 总体上分为以下几个步骤&#xff1a; …