【PortSwigger:BasicSSRFagainstthelocalserver完整通关指南】

admin 2026-07-14 06:12:04 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文是PortSwiggerSSRF入门靶场BasicSSRFagainstthelocalserver的通关指南。核心思路是利用库存检查功能中用户可控的stockApi参数,将值修改为http://localhost/admin,由服务器后端发起请求绕过本地访问限制。通过两次SSRF攻击,先侦察获取管理界面HTML中的删除接口,再执行删除用户carlos的操作。文章详细介绍了攻击步骤、原理及同类技巧拓展。 综合评分: 85 文章分类: 渗透测试,红队,漏洞分析,WEB安全


cover_image

【PortSwigger :Basic SSRF against the local server 完整通关指南】

原创

卡布奇诺的派对 卡布奇诺的派对

卡布奇诺的派对

2026年7月13日 08:11 河南 标题已修改

在小说阅读器读本章

去阅读

🔥 SSRF 初体验:一行代码轻松拿下本地管理后台!

—— PortSwigger 实战:Basic SSRF against the local server 完整通关指南

Payload: http://localhost/admin/delete?username=carlos

🎯 靶场速览

目标:该实验室有一个库存检查功能,会从内部系统获取数据。管理界面 http://localhost/admin 被限制为只能从服务器本地访问,外部浏览器直接访问会被拒绝。需要利用 SSRF 漏洞访问该管理界面,并删除用户 carlos

核心逻辑:库存检查功能存在缺陷——它盲目信任用户提供的 stockApi 参数,并由服务器后端向该 URL 发起请求。由于请求是由服务器自己发起的,完全符合“只允许本地访问”的规则,从而绕过了防火墙限制。

难度等级:Apprentice(学徒级)—— 基础 SSRF,无任何过滤防护。

🚀 分步攻击链

第 1 步:发现漏洞入口

访问任意产品页面,点击 “Check stock” 按钮,用 Burp Suite 拦截该 POST 请求。

在请求体(Request Body)中,你会发现一个参数 stockApi,其值为服务器原本要去请求的内部库存 API 地址。

将此请求 右键 → Send to Repeater

第 2 步:第一次 SSRF 攻击(侦察)

在 Repeater 中,将 stockApi 参数的值修改为:

http://localhost/admin

点击 “Send” 发送请求。

查看右侧的响应窗口,你不会看到库存信息,而是会看到 http://localhost/admin 页面的 HTML 源代码。这证明 SSRF 攻击成功,服务器替我们访问了本地的管理面板。

在返回的 HTML 中,搜索与删除用户相关的链接,找到:

/admin/delete?username=carlos

这是删除用户 carlos 的 API 端点。

第 3 步:第二次 SSRF 攻击(执行)

再次修改 stockApi 参数,构造完整的删除请求:

http://localhost/admin/delete?username=carlos

点击 “Send” 发送请求。

观察响应,会看到一个 302 Found 重定向响应,表示删除操作已成功执行。实验通过 ✅

💡 核心原理

什么是 SSRF?

SSRF(Server-Side Request Forgery,服务端请求伪造)是一种允许攻击者诱使服务器端应用程序代表攻击者向任意指定 URL 发起请求的安全漏洞。

本关的攻击链条

| 步骤 | 谁在发起请求 | 请求目标 | 结果 | | — | — | — | — | | 正常流程 | 服务器后端 | 内部库存 API | 返回库存数据 | | 第 1 次攻击 | 服务器后端 | http://localhost/admin | 返回管理界面 HTML ✅ | | 第 2 次攻击 | 服务器后端 | http://localhost/admin/delete?username=carlos | 删除用户 ✅ |

关键点:管理界面限制的是外部访问(来自浏览器的请求),而 SSRF 发起的请求来自服务器自身,完全符合“本地访问”的安全规则,因此绕过。

本关属于哪种 SSRF?

这是 Open SSRF(有回显 SSRF) —— 攻击者可以直接看到服务器的响应内容,利用起来非常直观。与之相对的是 Blind SSRF(盲 SSRF) ,攻击者无法直接看到响应,需要通过带外(OOB)方式验证。

🔧 同类技巧拓展

| 技巧 | 说明 | 适用场景 | | — | — | — | | 直接使用 localhost | 最简单直接的方式,无任何过滤时首选 | 本关适用 | | 使用 127.0.0.1 | localhost 的 IP 地址等价形式 | localhost 被过滤时 | | IP 地址变形 | 十进制(2130706433)、八进制(017700000001)、缩写(127.1)等 | IP 黑名单过滤时 | | 域名绑定 | 注册自己的域名解析到 127.0.0.1 | 关键字过滤时 | | URL 编码绕过 | 对 URL 进行多重编码 | 关键字过滤时 | | 利用开放重定向 | 通过本地重定向接口做跳板 | 主机限制时 |

✅ 排障自检清单

| 问题 | 原因 | 解决方案 | | — | — | — | | 修改 stockApi 后响应仍是库存数据 | 修改的参数不对 | 确认参数名是 stockApi,不是其他字段 | | 响应显示 “Admin interface only available locally” | 请求未由服务器发起 | 确认是在 Repeater 中修改并发送,而非浏览器直接访问 | | 删除后实验未通过 | 用户名拼写错误 | 确认是 carlos(全小写) | | URL 编码后请求失败 | 编码过度 | 本关无需任何编码,直接使用明文 URL 即可 | | 找不到删除接口 | 未仔细查看 HTML | 在第一次 SSRF 的响应 HTML 中搜索 delete 或 carlos |

📌 总结

本关是 SSRF 漏洞的入门级靶场,核心思路极其简单:

找到有缺陷的参数 → 修改为目标内网地址 → 由服务器代为请求 → 成功绕过访问限制

作为 PortSwigger SSRF 学习路径的第一个实验室(Apprentice 难度),它没有任何过滤防护,只需将 stockApi 改为 http://localhost/admin 即可通关。

但这恰恰是 SSRF 漏洞最经典的利用场景:利用服务器对内网的信任,将服务器变成攻击内网的跳板。掌握这一基础,后续的黑名单绕过、白名单绕过、盲 SSRF 等进阶关卡才能得心应手。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:卡布奇诺的派对 卡布奇诺的派对 卡布奇诺的派对《【PortSwigger :Basic SSRF against the local server 完整通关指南】》

BugKu WEBPOSTwriteup 网络安全文章

BugKu WEBPOSTwriteup

文章总结: 本文记录了BugKu平台WEBPOST题目的解题过程。依据页面提示,只需在HTTP请求体提交what=flag参数即可获取flag。文中还推广了随波
评论:0   参与:  0