跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PHPAI大前端算法

Web 应用架构与安全漏洞体系梳理

梳理了 Web 应用的前后端架构与 API 交互机制,强调了后端安全校验的重要性。详细解析了 SQL 注入、XSS、RCE、文件上传、CSRF 及 SSRF 等核心漏洞原理与防御思路,并结合 CTF 实战分享了 PHP 特性利用、代码执行绕过及命令执行技巧。旨在帮助开发者建立系统的 Web 安全知识体系,提升漏洞挖掘与防护能力。

人间失格发布于 2026/4/5更新于 2026/10/2599 浏览
Web 应用架构与安全漏洞体系梳理

Web 应用架构与 API 安全

在深入 Web 安全之前,理解前后端交互的基本架构至关重要。如果连基础的数据流转都不清楚,单纯记忆注入手法往往难以应对实际场景。

前端、后端与数据库的协作

一个典型的登录流程可以拆解为三个核心环节:

  1. 前端(用户可见部分) 负责界面展示、数据收集与请求发送。当用户点击'登录'时,前端会校验输入格式(如手机号长度),随后通过 axios 或 fetch 将数据封装成 JSON 对象,按照 API 文档约定的 URL 和 Method(通常是 POST)发送给服务器。

  2. 后端(业务逻辑层) 这是真正的'黑盒'。后端监听特定接口,接收请求后执行路由分发。关键步骤包括:

    • 解析与验证:检查参数合法性,查询数据库确认用户是否存在及密码是否匹配。
    • 核心逻辑:验证通过后生成 Token 并关联用户 ID,写入缓存或数据库。
    • 响应组装:返回标准的 JSON 结构,包含状态码、消息体及必要的数据(如用户信息、Token)。
  3. 前端再次处理 收到响应后,前端根据 code 字段判断成功与否。若成功则保存 Token 跳转首页;若失败则提示错误信息。

角色职责API 关系
前端交互与展示调用方,按文档'提问'
后端逻辑与数据提供方,定义规则并实现
API通信契约边界与桥梁,规定地址、方法与格式

API 安全的核心原则

很多初学者误以为 API 仅由前端调用,实际上任何能构造 HTTP 请求的程序(如 Postman、脚本、其他服务)均可调用。在网络安全视角下,前端完全不可信。

攻击者完全可以绕过前端界面,直接伪造请求。常见的风险包括:

  • 参数篡改:修改金额、ID 等关键参数。
  • 重放攻击:重复发送合法请求包。
  • 越权访问:遍历用户 ID 查看他人资料(水平/垂直越权)。
  • 自动化滥用:高频调用导致短信轰炸或资源耗尽。

因此,所有安全校验必须放在后端。身份认证(Token/Session)、授权校验(权限控制)、参数业务逻辑校验以及限流措施缺一不可。HTTPS 加密传输也是防止窃听的基础保障。

常见 Web 漏洞类型

掌握架构后,我们来看看具体的漏洞形态:

1. SQL 注入

通过构造特殊输入,使数据库执行非预期的 SQL 语句。防御关键在于使用预编译语句(Prepared Statements)。

2. 远程代码执行 (RCE)

允许攻击者在服务器上执行任意系统命令,危害极大。通常源于未过滤的文件上传、反序列化或命令拼接。

3. 文件上传与包含

  • 上传漏洞:绕过后缀名、MIME 类型检测上传可执行文件。
  • 文件包含:利用 include() 等函数加载本地或远程文件。需警惕日志文件被写入恶意代码后被包含执行。

4. XSS(跨站脚本)

  • 反射型:恶意脚本随 URL 参数回显,需用户点击链接触发。
  • 存储型:脚本存入数据库,访问页面即自动执行,危害更持久。

5. CSRF(跨站请求伪造)

诱导用户在已登录状态下执行非本意操作。防御手段包括验证码、Referer 校验及 SameSite Cookie 属性。

6. SSRF(服务端请求伪造)

诱导服务器向内网发起请求,用于探测内网端口、读取敏感文件(如 /etc/passwd)。

7. 业务逻辑漏洞

  • 暴力破解:针对登录、验证码接口进行字典攻击。
  • 权限绕过:利用 ID 遍历或角色切换获取未授权数据。

CTF Web 实战技巧

在 CTF 竞赛中,除了通用漏洞,还需关注语言特性带来的陷阱。

PHP 特性利用

  • 弱类型比较:注意 == 与 === 的区别,数组参与哈希比较可能返回 NULL。
  • 变量覆盖:利用 extract() 或 $$ 覆盖 $GLOBALS 中的变量。
  • 信息泄露:检查注释、robots.txt、.git 目录及 Vim 备份文件(.swp)。

代码执行绕过

  • 无字母限制:利用异或运算、自增构造字符。
  • 有字母限制:尝试取反、ASCII 转换或 URL 编码绕过。

命令执行

熟悉 Linux 管道符(|, &&, ||)及空格绕过技巧(如 %0a)。结合 file:// 协议读取本地文件是常见考点。

总结

Web 安全是一个系统工程,从架构理解到漏洞挖掘,再到防御加固,需要扎实的理论基础与丰富的实战经验。保持对新技术的敏感度,同时坚守安全底线,才能在攻防对抗中立于不败之地。

目录

  1. Web 应用架构与 API 安全
  2. 前端、后端与数据库的协作
  3. API 安全的核心原则
  4. 常见 Web 漏洞类型
  5. 1. SQL 注入
  6. 2. 远程代码执行 (RCE)
  7. 3. 文件上传与包含
  8. 4. XSS(跨站脚本)
  9. 5. CSRF(跨站请求伪造)
  10. 6. SSRF(服务端请求伪造)
  11. 7. 业务逻辑漏洞
  12. CTF Web 实战技巧
  13. PHP 特性利用
  14. 代码执行绕过
  15. 命令执行
  16. 总结

更多推荐文章

查看全部
  • Spring AOP 注解实现详解
  • 前端地图开发基础:服务类型、坐标系与 SDK 简介
  • 文心一言5.0 Preview模型能力观察:LMArena文本任务实测
  • GitHub 单个文件夹一键下载为 ZIP 的实用方法
  • 复杂 SQL 性能突围:代价驱动的连接条件下推策略与工程实践
  • Spatial Joy 2025 AR&AI 大赛:开发者资源、玩法与避坑全解析
  • CS144 课程 C++ 核心知识点总结
  • 12 款主流 AI 降重工具实测对比:如何有效降低论文 AIGC 检测率
  • 前端拖拽交互实现:原生 API 与第三方库对比
  • C++ 使用 CopyFileExA 实现带进度显示的文件拷贝
  • 哈希表核心原理与 C++ 实战应用
  • 使用 Trae IDE 将 Figma 设计稿转化为前端代码的技术解析与实践
  • 前端设计模式深度解析与实战
  • 基于 SpringBoot 的 SSM 小区失物招领系统设计
  • Spring Boot 视图层与模板引擎
  • 基于 mstsc.js 的 Web 远程桌面搭建与使用指南
  • OpenClaw 101:从零部署与实操,打造本地化 AI 数字员工
  • 前端函数防抖详解:原理、手写与 Lodash 实战
  • Web 开发中五种核心加密算法实战与原理
  • performance.timing 首屏时间计算与优化

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online