Web 应用架构解析与安全漏洞实战指南
在尝试解决几道 Web 安全题目时,发现单纯记忆注入方法并不足以应对复杂场景。系统性地理解 Web 架构是掌握安全攻防的基础。以下是对 Web 学习框架的梳理与常见漏洞的实战总结。
Web 应用基础架构
现代 Web 应用通常分为前端、后端和数据库三层。前端负责展示与交互,后端处理业务逻辑与数据持久化,API 则是两者沟通的桥梁。
前后端交互流程
以用户登录为例,整个链路如下:
-
前端构建请求:用户在界面输入手机号和密码,前端进行基本格式校验后,使用
axios或fetch构造 HTTP 请求。- URL:
https://api.yourservice.com/v1/user/login - Method:
POST - Headers:
Content-Type: application/json - Body:
{"phone_number":"13800138000","password":"encryptedPassword123"}
- URL:
-
后端接收与处理:服务器监听指定地址,路由分发至控制器(如
loginController)。- 验证:检查手机号是否存在、密码是否匹配加密存储的密文、账户状态是否正常。
- 业务逻辑:验证通过后生成 Token,关联用户 ID,并写入缓存或数据库。
- 响应:返回 JSON 格式结果,包含状态码、消息及用户信息。
-
前端处理响应:根据返回的
code字段决定跳转首页或弹出错误提示,并将 Token 存入本地存储以便后续请求携带。
| 角色 | 职责 | API 关系 |
|---|---|---|
| 前端 | 交互与展示 | 调用方,按文档格式提问 |
| 后端 | 逻辑与数据 | 提供方,定义规则并实现逻辑 |
| API | 通信合同 | 边界与桥梁,规定 URL、方法与格式 |
关键概念补充
- JSON:轻量级数据交换格式,键值对结构,前后端通信的标准语言。
- API 调用者:不仅是前端,后端服务间(微服务)、第三方系统及测试工具均可调用 API。
- 安全视角:攻击者无需前端界面,可直接通过 Burp Suite、Postman 或脚本伪造请求。因此,所有安全校验必须放在后端,永远不要信任前端传来的任何数据。
常见 Web 漏洞类型
1. SQL 注入
通过构造恶意 SQL 语句,欺骗数据库执行非授权操作,可能导致数据泄露或被篡改。
2. 远程代码执行 (RCE)
允许攻击者在服务器上执行任意系统命令,危害极大,通常源于不安全的函数调用。
3. 文件上传漏洞
若未严格限制上传文件的类型、后缀或内容,攻击者可上传 WebShell 获取服务器权限。


