后端安全
校招考察频度:☆ 中频(原理扩展·工程加分项) 复习主线:安全是现代互联网系统研发的红线,关乎资金安全与合规生死。校招面试核心聚焦点:认证授权体系(Cookie-Session vs JWT 优劣、OAuth2.0 授权码模式时序图、OWASP 榜首的水平/垂直越权防范)、Web 注入(SQL 注入原理与参数化预编译、命令注入)、浏览器跨站威胁(XSS 攻击分类与 CSP、CSRF Token 与 SameSite Cookie)、SSRF 服务端请求伪造、现代密码哈希与加盐存储。
安全不是后置功能,而是软件工程生命周期的默认属性与设计原则。
分类考频地图
| 专题 | 核心页面 | 校招考频星级 | 重点考查要点 |
|---|---|---|---|
| Web 注入防御 | 注入攻击与防御 | ★ 高频(生死红线) | 为什么参数化查询(PreparedStatement)能彻底根治 SQL 注入、MyBatis #{} vs ${}、命令注入黑白名单过滤 |
| 跨站攻击攻防 | XSS 与 CSRF | ★ 高频(核心必背) | 存储型/反射型/DOM 型 XSS、HttpOnly Cookie 与 CSP 内容安全策略、CSRF 攻击场景与 Anti-CSRF Token / SameSite |
| 认证授权与越权 | 认证与授权 (JWT/OAuth2) | ★ 高频(大厂分水岭) | Cookie-Session vs JWT 对比、JWT 篡改防范与注销难题、OAuth2 为什么需要中间 Code、水平越权与垂直越权防御 |
| SSRF 与文件上传 | SSRF 与文件上传 | ☆ 中频(安全防护) | SSRF 内网探针危害、禁用内网 IP(127.0.0.1/10.0.0.0/8/192.168.0.0/16)、文件上传魔术头校验与对象存储隔离 |
| 应用密码学基础 | 密码学基础 | ☆ 中频(原理扩展) | MD5/SHA256 为什么不能直接存密码、加盐哈希(Bcrypt/Argon2)工作因子、对称加密(AES-GCM)与非对称加密(RSA/ECC) |
| 安全研发规范 | 安全实践 | ☆ 中频(工程实践) | 敏感信息脱敏(手机号/身份证)、API 签名验签防篡改与重放攻击(Nonce+Timestamp)、依赖 CVE 漏洞扫描 |
威胁模型
威胁入口: Web 层 + 身份层 + 数据层
思考框架:输入不可信、输出要消毒、身份要验证、数据要加密。
漏洞地图
| 漏洞 | 危害 | 归属篇 |
|---|---|---|
| SQL/命令注入 | 数据泄露、服务器沦陷 | web-injection |
| XSS | 窃取会话、篡改页面 | xss-and-csrf |
| CSRF | 冒充用户操作 | xss-and-csrf |
| SSRF | 内网穿透 | ssrf-and-file-upload |
| 越权 | 访问他人数据 | authentication-and-authorization |
| 弱密码学 | 数据可破解 | cryptography-basics |
防护原则
- 纵深防御:多层防护(输入校验 + 权限 + 审计),单层失守不沦陷
- 最小权限:服务账号、工具权限只给需要的(见 MCP 安全篇同原则)
- 默认拒绝:白名单优先(IP、文件类型、权限)
- 不信任输入:一切外部输入(参数、头、文件、回调)都要校验
- 安全左移:代码审查、依赖扫描(CVE)、上线前安全测试
OWASP Top 10
2021 版高频项:访问控制失效(越权)、加密失败、注入、不安全设计、安全配置错误。
面试话术:越权排第一(不是注入),因为业务逻辑漏洞难以自动检测。做权限设计时默认拒绝。
面试追问
- 安全怎么想? 威胁模型:输入不可信、输出消毒、身份验证、数据加密。纵深防御
- OWASP 第一位? 访问控制失效(越权)。业务逻辑漏洞,工具难扫出来
- 最小权限? 只给需要的权限:服务账号、工具、文件。默认拒绝
- 安全左移? 开发阶段就做:代码审查、依赖扫描、测试。上线后修成本高
- 最常见的安全事故? 数据泄露(弱口令/明文存储/越权)。密码学基础见对应篇