当前位置: 首页 > news >正文

PortSwigger靶场之利用开放重定向漏洞绕过过滤器的 SSRF 攻击通关秘籍

这个实验的核心是利用开放重定向漏洞绕过 SSRF 的主机限制,最终访问内网管理界面并删除用户。以下是具体原理和解决步骤:

原理分析

  1. SSRF 的主机限制:目标系统的库存检查功能(stockApi参数)被限制为只能访问本地应用程序(不允许直接请求外部或内网其他主机),直接修改stockApihttp://192.168.0.12:8080/admin会被拦截。

  2. 开放重定向漏洞的作用:应用程序中存在一个开放重定向 —— 当访问/product/nextProduct?path=XXX时,服务器会返回Location: XXX的响应,导致浏览器(或本实验中的库存检查工具)自动跳转到XXX指定的地址。这个漏洞的关键是:库存检查工具会跟随重定向,而重定向的目标不受原 SSRF 的主机限制,因此可以通过它间接访问内网地址。

具体解决步骤

1. 确认 SSRF 的主机限制
  • 访问任意产品页面,点击 “查看库存”,用 Burp 拦截请求(包含stockApi参数,例如stockApi=/path/to/local/stock)。
  • 在 Burp Repeater 中尝试修改stockApi为内网管理地址http://192.168.0.12:8080/admin,发送后会被服务器拦截(因违反 “只能访问本地” 的限制)。
2. 发现开放重定向漏洞
  • 点击页面中的 “下一个产品” 按钮,观察其请求 URL 为/product/nextProduct?currentProductId=1&path=/product?productId=2path参数指定跳转目标)。
  • 拦截该请求并发送到 Repeater,修改path参数为任意地址(如path=http://example.com),发送后发现响应头中Location: http://example.com,证明存在开放重定向(path参数的值被直接作为重定向目标,未做限制)。
3. 利用重定向绕过 SSRF 限制
  • 构造重定向 URL:利用开放重定向,让stockApi先请求本地的重定向接口,再通过重定向跳转到内网管理地址。构造stockApi的值为:

    /product/nextProduct?currentProductId=1&path=http://192.168.0.12:8080/admin

    含义:库存检查工具先访问本地的/product/nextProduct,该接口返回重定向到内网管理界面的响应,工具跟随重定向后成功访问内网。

  • 在 Repeater 中发送修改后的stockApi请求,此时服务器会先处理本地重定向接口,再跟随到内网http://192.168.0.12:8080/admin,成功绕过主机限制,访问到管理界面。

4. 删除目标用户
  • 基于上述逻辑,修改重定向的目标路径为删除用户的接口,构造最终

    stockApi:/product/nextProduct?path=http://192.168.0.12:8080/admin/delete?username=carlos
  • 发送请求后,库存检查工具会跟随重定向执行删除操作,完成实验。

  • stockApi的值修改为你构造的重定向 URL:/product/nextProduct?path=http://192.168.0.12:8080/admin/delete?username=carlos

    当我们在stockApi中填入开放重定向的 URL(如/product/nextProduct?path=内网地址)时:

  • 这个 URL 的域名 / 路径属于 “本地应用程序”/product/nextProduct是目标系统自身的接口),符合stockApi的访问限制,因此不会被拦截。
  • 服务器会正常处理stockApi的请求,访问自身的/product/nextProduct接口,此时触发开放重定向,返回Location: 内网地址
  • 由于库存检查功能会自动跟随重定向,服务器会继续访问重定向目标(内网地址),而这一步是服务器 “主动跟随” 的结果,不受最初的 “本地应用程序” 限制(过滤器只检查stockApi的初始 URL,不检查重定向后的目标)。

总结

本实验的核心思路是 “借道” 开放重定向:

  1. 利用 SSRF 功能只能访问本地的限制,先让其请求本地存在开放重定向的接口;
  2. 通过开放重定向的path参数,将目标偷偷改为内网管理地址,从而绕过 SSRF 的主机过滤;
  3. 最终让服务器执行访问内网并删除用户的操作。

这是实战中绕过 SSRF 主机限制的经典方法 —— 当直接请求被拦截时,可寻找应用内的重定向功能作为 “跳板”。

http://www.dtcms.com/a/573123.html

相关文章:

  • 深入理解 Spring 原理:IOC、AOP 与事务管理
  • 做网站公司赚钱吗怎么怎么做网站
  • 使用ESP8266+SG90舵机实现物理远程开机
  • 第四阶段C#通讯开发-5:TCP
  • WABT 项目全解析:WebAssembly 二进制工具套件
  • 第四阶段C#通讯开发-5:Socket与RS485 / Modbus联调
  • 辽宁建设资质申报网站国外直播sdk
  • 适配的 GPU 服务器能让 AI 模型充分发挥算力优势
  • 【高并发服务器:HTTP应用】十五、HttpRequest请求模块 HttpResponse响应模块设计
  • 两台服务器 NFS 共享目录实战
  • 在服务器已有目录中部署 Git 仓库
  • 宝塔Linux部署 一个基于uni-app 系统指南
  • PostgreSQL 索引
  • Ubuntu20.04配置使用evo工具
  • 远程连接银河麒麟服务器-xrdp方式
  • 做阿里巴巴网站图片大全wordpress添加固定结尾
  • k8s集群搭建(七)-------- 微服务间的调用
  • 华为HCIP网络工程师认证—网络参考模型
  • 商务网站建设策略网站设计 原型图
  • 告别 Class 组件:拥抱 React Hooks 带来的函数式新范式
  • 21、【Ubuntu】【远程开发】技术方案分析:虚拟专用网络(补充)
  • 中山网站制作建设通讯员队伍建设与网站新闻管理
  • 论文阅读:《Hypergraph Motif Representation Learning》
  • 快速了解搭建网站流程——全栈网站搭建指南
  • pdf图片提取器pyqt6版本实现
  • 基于Layui Vue Admin + Spring Boot 3.x 的企业级前后端分离管理系统
  • Apache SeaTunnel 支持 Metalake 开发了!避免任务配置敏感信息暴露
  • 2025年Java面试题及详细解答(MySQL篇)
  • 深入理解 Spring Boot 中的数据库连接池:原理、选型与最佳实践
  • 网站建设实训的目的重庆 新闻发布会