�_�.前后端分离补充 本知识来源于[[7_0.前后端分离架构如何改变渗透测试?关键差异与攻击面分析]] 🔍 一、架构本质对氏 对氏维度 传统 Web 架构 前后端分离架构 ⻚面生成方式 后端动态渲染 前端 JS 动态渲染 (PHP/ASP/JSP) (Vue/React) URL 结构 多⻚面( /login.php , /u 单⻚应用(SPA),URL 由前 ser.jsp ) 端路由控制 数据交互 表单提交、⻚面跳转 AJAX/Fetch 调用 API (JSON) 典型技术栈 PHP + MySQL, ASP.NET Vue + Java API, React + Node.js 部署方式 前后端同服务器 前端(CDN)、后端(API 服 务器)、后台(独立管理域) ⚔ 二、攻击面与漏洞分布对氏 漏洞类型 传统架构 前后端分离架构 SQL 注入 常⻅于表单、URL 参数 集中在 API 接口参数 文件上传 上传到 Web 目录,直接访问 上传接口返回 URL,需绕过存 储/解析限制 后台路径 /admin.php , /manage/ admin.example.com (独 (同域名) 立子域) 406
XSS 存储型/反射型(后端输出) DOM 型为主(前端 JS 处理) 信息泄露 源码注释、备份文件 JS 硬编码密钥、API 文档泄露 越权访问 ⻚面权限控制弱 API 未校验用户⻆色 💡 关键变化: 传统架构:漏洞分散在各个⻚面 前后端分离:漏洞集中在 API 层和管理后台 🛡 三、防御策略差异 防御点 传统架构 前后端分离架构 输入验证 后端⻚面级校验 API 接口级校验(每条路由) 身份认证 Session/Cookie Token(JWT/OAuth) 敏感信息保护 配置文件权限控制 前端不存密钥,API 用短期 Token 后台保护 目录权限 + 登录⻚ 独立域名 + IP 白名单 + 2FA 日志监控 Web 日志(Apache/Nginx) API 调用日志 + 用户行为审计 🔎 四、渗透测试策略调整建议 阶段 传统架构 前后端分离架构 信息收集 目录扫描、备份文件查找 JS 分析、API 接口提取、子域 名爆破 漏洞探测 ⻚面参数测试(SQLi/XSS) API 参数测试、Token 篡改、 越权 权限提升 后台弱口令、文件上传 管理后台爆破、JWT 伪造、 SSO 漏洞 407
横向移动 同服务器其他站点 同账号体系其他子系统(如 SSO) ✅ 新技能要求: 能读懂 Vue/React 源码(找 API 地址) ● 熟悉 JWT、OAuth2.0 安全机制 ● 掌握 Burp Suite API 测试技巧 ● 📌 五、总结:思维升级 维度 传统思维 新时代思维 目标 找到可利用的⻚面 找到可利用的 API 或管理后台 入口 /login.php POST /api/auth/login 关键资产 Web 目录下的 .php 文件 后端 API 的权限控制逻辑 成功标志 上传 WebShell 控制管理后台或获取高权限 Token 🔐 终极原则: “在前后端分离时代,不懂 API,等于不会渗透。” 📎 相关笔记 [[前后端分离架构如何改变渗透测试?]] ● [[JWT 安全与伪造技巧]] ● [[从 JS 中提取敏感信息的自动化方法]] ● 408
�_�.前后端分离架构如何改变渗透测试?关键差 异与攻击面分析 本知识由[[7_1.前后端分离补充]]做补充 📝 第一篇:主干知识 —— 渗透视⻆下的前后端分离架构 副标题:为什么你爆破 /admin 找不到后台?前端只是“壳”,后端才是“核” 标签: #前后端分离 #渗透测试 #API安全 #红队知识 关联笔记:[[前后端分离 vs 传统架构:安全模型对氏]]、[[API 接口信息收集技巧]] 🧠 核心结论(先看这个) 在前后端分离架构中: 前端 = 纯展示层(HTML + JS),无业务逻辑,基本无漏洞 ● 后端 = 纯 API 服务,处理数据、权限、核心逻辑 ● 攻击目标必须是后端 API 或管理后台,而非前端⻚面 ● ✅ 找不到后端地址 = 几乎无法有效渗透! 🔍 一、什么是前后端分离架构? 架构特点 组件 职责 技术栈示例 前端 ⻚面渲染、用户交互 Vue、React、Angular(单⻚应 用 SPA) 409
后端 数据处理、权限控制、业务逻辑 PHP、Java、.NET、Node.js 通信方式 通过 API(如 RESTful) 交互 JSON over HTTP/HTTPS 典型部署模式 ● 前端部署在 www.example.com (静态资源 CDN) ● 后端 API 部署在 api.example.com ● 后台管理系统部署在 admin.example.com 💡 用户访问 www.example.com → 前端 JS 动态请求 api.example.com/user 获取数据 ⚠ 二、对渗透测试的三大影响
- 传统路径爆破失效 ● ❌ 对 www.example.com 扫描 /admin 、 /login.php → 无结果 ● ✅ 原因:后台不在前端域名上!可能在 admin.example.com
- 前端几乎无攻击面 前端是 单⻚应用(SPA),无动态⻚面 ● 无传统漏洞(如文件包含、SQL 注入入口) ● 漏洞多集中在 JS 逻辑(如 XSS、敏感信息硬编码) ●
- 后端成为唯一高价值目标 所有业务逻辑、数据库操作都在后端 ● 90% 的高危漏洞(如 RCE、SQLi、越权)集中在后端 API ● 但后端通常 无直接访问入口,需先找到 API 地址或管理后台 ● 🔎 三、如何判断是否为前后端分离? 410
快速识别方法 特征 说明 ⻚面只有 1 个 HTML 文件 刷新⻚面 URL 不变(SPA 特征) 源码含大量 JS 和 API 请求 如 fetch(“/api/user”) 、 axios.get (“https://api.xxx”) 目录扫描无结果 扫 /login 、 /admin 返回 404 或首⻚ 无传统登录⻚ 登录由 JS 弹窗或跳转到第三方 OAuth 实现 ✅ 满足 2 条以上 → 极可能是前后端分离架构 🎯 四、正确渗透思路(红队实战流程)
- 确认架构类型 → 使用上述方法判断是否为前后端分离
- 优先寻找后端地址 ○ 分析前端 JS,提取 API 域名(如 api.example.com ) ○ 收集子域名: admin. 、 manage. 、 console. 、 api. ○ 查看 JS 中的硬编码配置(如 window.API_BASE = ”…” )
- 若找不到后台? 尝试分析前端框架历史漏洞(如 Vue SSR 漏洞) ○ 通过社工、GitHub 泄露、员工邮箱等旁路入手 ○ 信息收集 > 盲目扫描 ○
- 重点测试后端 API 参数篡改、越权访问、JWT 伪造 ○ 文件上传接口、导出接口(常被忽略) ○ 🔐 五、安全建议(给开发) 411
前端不要硬编码敏感信息(如 API 密钥) ● 后端 API 必须做 身份认证 + 权限校验 ● 管理后台应部署在独立域名,并限制 IP 访问 ● 使用 CORS 严格限制前端域名调用 API ● 📌 记住: “前端是画皮,后端是心脏。打不穿 API,就拿不下系统。” 📎 相关笔记 [[前后端分离 vs 传统架构:安全模型对氏]] ● [[API 接口信息收集技巧]] ● [[单⻚应用(SPA)中的 XSS 利用]] ● 412
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时






