网络安全书单推荐:应用安全

写代码的人这一篇:你自己亲手引入的漏洞,以及不引入它们的办法。

2026/8/20
网络安全书单推荐:应用安全
全九篇之五:应用安全

网络安全书单推荐:应用安全

全九篇之五。这一篇给写代码的人:你自己亲手引入的漏洞,以及不引入它们的办法。

这份书单几乎全部都能用在周一早上的工作里。

Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook(第2版,2011)

关于 Web 攻击的厚重参考书。里面没有现代前端和 API 的内容,但漏洞分类和测试方法论至今仍是同类中最好的。

主题:认证与会话管理机制、访问控制、各类注入、针对应用逻辑的攻击、针对用户的攻击、把一个应用从头到尾走一遍的方法论。

Michal Zalewski. The Tangled Web(2011)

浏览器实际是怎么工作的,以及 Web 的安全模型为什么长成这个样子。作者正是当年挖出这些问题的人。

主题:源与同源策略、DOM 及其隔离、Cookie 及其限制、浏览器对内容的处理、安全响应头、从九十年代继承下来的机制。

Malcolm McDonald. Web Security for Developers(2020)

写给写代码的人而非测别人代码的人的一本轻薄新书。读前两本之前从这里进入比较合适。

主题:浏览器与 HTTP 的工作方式、注入、XSS 与 CSRF、口令的安全存储、依赖及其中的漏洞、服务器配置、抵御自动化攻击。

Tanya Janca. Alice and Bob Learn Application Security(2020)

讲的是把安全嵌进开发过程,而不是当作发布前的一个单独环节。

主题:安全需求与设计、安全编码、流水线中的测试与工具、密钥与凭据的处理、研发与安全之间的协作文化。

Adam Shostack. Threat Modeling: Designing for Security(2014)

唯一一本教你在写代码之前就系统回答「这里可能出什么错」的书。

主题:数据流图、STRIDE 方法、攻击树、对发现的威胁排优先级、把威胁建模接进日常工作流。

Neil Madden. API Security in Action(2020)

从基础认证一路讲到分布式系统的 API 安全,配可运行的代码。

主题:API 中的认证与授权、令牌及其存放、OAuth 2 与 OpenID Connect、请求限速、微服务与 Kubernetes 中的安全、双向 TLS。

Justin Richer, Antonio Sanso. OAuth 2 in Action(2017)

把协议从内部拆开:作者让你亲手把客户端、授权服务器和受保护资源都搭一遍。

主题:OAuth 2 的各种流程及适用场景、客户端与服务端常见的实现错误、访问令牌与刷新令牌、JWT、与 OpenID Connect 的关系。

Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano. Secure by Design(2019)

本书的论点是:多数漏洞源自糟糕的领域设计,而不是漏写了一次校验。作者展示严格的领域模型如何整类整类地消掉错误。

主题:用类型代替校验、不可变对象、上下文边界、错误处理、云与分布式架构中的安全、与遗留代码打交道。


阅读更多