编辑推荐 1. Amazon热销且长销图书:4.7星好评,位于电子书榜单TOP 7,被读者称为“漏洞猎人和 API 开发人员一定要读的书”。 2. API安全行家之作:作者Corey Ball是API攻防方向的行家,是APIsec大学的创始人,他是API安全领域公认的专家之一。 3. 免费配套课程:本书配套课程“API渗透测试”在APIsec大学中收获众多好评,一年半时间内收获9.3万播放量。 4. API全流程指南:市面上少有的从基础理论到环境搭建,再到测试工具、流程介绍,以及实战应用的全流程API攻防图书,适合网络安全的初学者快速上手。 内容推荐 本书旨在打造一本Web API安全的实用指南,全面介绍Web API的攻击方法和防御策略。 本书分为4个部分,共16章。第一部分从API渗透测试的基础理论入手,探讨Web 应用程序的基础知识、Web API攻防的基本原理和常见的API漏洞。第二部分带领读者搭建自己的API测试实验室,结合2个实验案例,指导读者找到脆弱的API目标。第三部分通过侦察、端点分析、攻击身份验证、模糊测试、利用授权漏洞、批量分配、注入这7章,帮助读者了解API攻击的过程和方法,结合7个实验案例,帮助读者进行API测试。第四部分介绍3个真实的API攻防案例,旨在针对性地找到提高API安全性的具体策略和方案。 本书可为初学者提供API及其漏洞的全面介绍,也可为安全从业人员提供高级工具和技术见解。 目录 目 录 第 一部分 Web API安全的原理 第0章 为安全测试做准备 3 0.1 获得授权 3 0.2 API测试的威胁建模 4 0.3 应该测试哪些API特性 6 0.3.1 API认证测试 6 0.3.2 Web应用程序防火墙 7 0.3.3 移动应用测试 7 0.3.4 审计API文档 8 0.3.5 速率测试 8 0.4 和排除 9 0.4.1 安全测试云API 10 0.4.2 DoS测试 11 0.5 报告和修复测试 11 0.6 关于漏洞赏金范围的说明 12 0.7 小结 13 第 1章 Web应用程序是如何运行的 14 1.1 Web应用程序基础 14 1.1.1 URL 15 1.1.2 HTTP请求 16 1.1.3 HTTP响应 17 1.1.4 HTTP状态码 19 1.1.5 HTTP请求方法 20 1.1.6 有状态和无状态的HTTP 21 1.2 Web服务器数据库 23 1.2.1 SQL 23 1.2.2 NoSQL 25 1.3 API如何融入整体架构 25 1.4 小结 26 第 2章 Web API的原子论 27 2.1 Web API的工作原理 27 2.2 Web API的标准类型 30 2.2.1 RESTful API 30 2.2.2 GraphQL 35 2.3 REST API规范 39 2.4 API数据交换格式 40 2.4.1 JSON 40 2.4.2 XML 43 2.4.3 YAML 44 2.5 API身份验证 45 2.5.1 基本身份验证 46 2.5.2 API密钥 46 2.5.3 JSON Web Token 48 2.5.4 HMAC 49 2.5.5 OAuth 2.0 50 2.5.6 无身份验证 52 2.6 实操API:探索Twitter的API 52 2.7 小结 55 第3章 常见的API漏洞 56 3.1 信息泄露 56 3.2 对象级授权缺陷 57 3.3 用户身份验证缺陷 60 3.4 过度数据暴露 61 3.5 资源缺乏和速率 62 3.6 功能级授权缺陷 63 3.7 批量分配 64 3.8 安全配置错误 65 3.9 注入 68 3.10 不当的资产管理 69 3.11 业务逻辑漏洞 70 3.12 小结 72 第二部分 搭建API测试实验室 第4章 API黑客系统 75 4.1 Kali Linux 75 4.2 使用DevTools分析Web应用程序 76 4.3 使用Burp Suite捕获并修改请求 78 4.3.1 设置FoxyProxy 79 4.3.2 添加Burp Suite证书 80 4.3.3 Burp Suite导航 82 4.3.4 拦截流量 83 4.3.5 使用Intruder更改请求 85 4.4 在Postman中编写API请求 89 4.4.1 请求构建器 91 4.4.2 环境变量 93 4.4.3 集合 95 4.4.4 集合运行器 98 4.4.5 代码片段 98 4.4.6 测试面板 99 4.5 配置Postman 100 4.6 补充工具 101 4.6.1 使用OWASP Amass进行侦察 102 4.6.2 使用Kiterunner发现API端点 103 4.6.3 使用nikto扫描漏洞 105 4.6.4 使用OWASP ZAP扫描漏洞 106 4.6.5 使用Wfuzz进行模糊测试 106 4.6.6 使用Arjun发现HTTP参数 108 4.7 小结 109 实验1:在REST API中枚举用户账户 110 第5章 设定有API漏洞的目标 114 5.1 创建一个Linux主机 114 5.2 安装Docker和Docker Compose 115 5.3 安装易受攻击的应用程序 115 5.3.1 completely ridiculous API(crAPI) 116 5.3.2 OWASP DevSlop的Pixi 117 5.3.3 OWASP Juice Shop 118 5.3.4 DVGA 119 5.4 添加其他易受攻击的应用 119 5.5 在TryHackMe和HackTheBox上测试API 120 5.6 小结 121 实验2:查找易受攻击的API 122 第三部分 攻击API 第6章 侦察 129 6.1 被动侦察 129 6.1.1 被动侦察流程 130 6.1.2 Google Hacking 131 6.1.3 ProgrammableWeb的API搜索目录 133 6.1.4 Shodan 135 6.1.5 OWASP Amass 137 6.1.6 GitHub上的信息泄露 139 6.2 主动侦察 142 6.2.1 主动侦察过程 142 6.2.2 使用Nmap进行基线扫描 145 6.2.3 在Robots.txt文件中查找隐藏路径 145 6.2.4 使用Chrome DevTools查找敏感信息 146 6.2.5 使用Burp Suite验证API 149 6.2.6 使用OWASP ZAP爬取URI 150 6.2.7 使用Gobuster对URI进行暴力破解 152 6.2.8 使用Kiterunner发现API内容 154 6.3 小结 156 实验3:为黑盒测试执行主动侦察 157 第7章 端点分析 162 7.1 寻找请求信息 162 7.1.1 在文档中查找信息 163 7.1.2 导入API规范 166 7.1.3 逆向工程API 168 7.2 在Postman中添加API身份验证要求 171 7.3 分析功能 172 7.3.1 测试预期用途 173 7.3.2 执行特权操作 175 7.3.3 分析API响应 176 7.4 发现信息泄露 176 7.5 发现安全配置错误 177 7.5.1 冗长的错误消息 177 7.5.2 不良的传输加密 178 7.5.3 问题配置 178 7.6 发现过度数据暴露 179 7.7 发现业务逻辑漏洞 180 7.8 小结 181 实验4:构建crAPI集合并发现过度的数据暴露 181 第8章 攻击身份验证 186 8.1 经典身份验证攻击 186 8.1.1 暴力破解攻击 187 8.1.2 密码重置和多因素身份验证暴力破解攻击 188 8.1.3 密码喷洒 190 8.1.4 将Base64身份验证包含在暴力破解攻击中 192 8.2 伪造令牌 194 8.2.1 手动加载分析 194 8.2.2 实时令牌捕获分析 196 8.2.3 暴力破解可预测的令牌 197 8.3 JSON Web Token滥用 199 8.3.1 识别和分析JWT 200 8.3.2 无算法攻击 203 8.3.3 算法切换攻击 203 8.3.4 JWT破解攻击 205 8.4 小结 205 实验5:破解crAPI JWT签名 206 第9章 模糊测试 209 9.1 有效的模糊测试 209 9.1.1 选择模糊测试的有效负载 211 9.1.2 检测异常 213 9.2 广泛模糊测试与深入模糊测试 215 9.2.1 使用Postman进行广泛模糊测试 215 9.2.2 使用Burp Suite进行深入模糊测试 218 9.2.3 使用Wfuzz进行深入模糊测试 221 9.2.4 对资产管理不当进行广泛模糊测试 223 9.3 使用Wfuzz测试请求方法 225 9.4 进行深入的模糊测试以绕过输入过滤 226 9.5 用于目录遍历的模糊测试 227 9.6 小结 228 实验6:对不当的资产管理漏洞进行模糊测试 228 第 10章 利用授权漏洞 232 10.1 发现BOLA 232 10.1.1 定位资源ID 233 10.1.2 用于BOLA的A-B测试 234 10.1.3 BOLA侧信道攻击 235 10.2 发现BFLA 236 10.2.1 用于BFLA的A-B-A测试 237 10.2.2 在Postman中测试BFLA 237 10.3 授权漏洞挖掘技巧 240 10.3.1 Postman的集合变量 240 10.3.2 Burp Suite的匹配与替换 240 10.4 小结 241 实验7:查找另一个用户的车辆位置 242 第 11章 批量分配 247 11.1 查找批量分配目标 247 11.1.1 账户注册 247 11.1.2 未经授权访问组织 248 11.2 查找批量分配变量 249 11.2.1 在文档中找到变量 249 11.2.2 对未知变量进行模糊测试 250 11.2.3 盲批量赋值攻击 251 11.3 使用Arjun和Burp Suite Intruder自动化批量分配攻击 252 11.4 结合使用BFLA和批量分配 253 11.5 小结 254 实验8:更改在线商店中商品的价格 255 第 12章 注入 259 12.1 发现注入漏洞 259 12.2 XSS攻击 260 12.3 XAS攻击 262 12.4 SQL注入 264 12.4.1 手动提交元字符 265 12.4.2 SQLmap 266 12.5 NoSQL注入 268 12.6 操作系统命令注入 270 12.7 小结 272 实验9:使用NoSQL注入伪造优惠券 272 第四部分 真实世界的API攻击 第 13章 应用规避技术和速率 测试 279 13.1 规避API安全控制 279 13.1.1 安全控制的工作原理 279 13.1.2 API安全控制检测 281 13.1.3 使用一次性账户 282 13.1.4 规避技术 282 13.1.5 使用Burp Suite自动绕过 285 13.1.6 使用Wfuzz自动绕过 286 13.2 测试速率 288 13.2.1 关于宽松速率的说明 289 13.2.2 路径绕过 291 13.2.3 源标头欺骗 292 13.2.4 在Burp Suite中轮换IP地址 293 13.3 小结 297 第 14章 攻击GraphQL 298 14.1 GraphQL请求和集成开发环境 298 14.2 主动侦察 300 14.2.1 扫描 300 14.2.2 在浏览器中查看DVGA 302 14.2.3 使用DevTools 302 14.3 逆向工程GraphQL API 304 14.3.1 目录暴力破解以获取GraphQL端点 304 14.3.2 Cookie篡改以启用GraphiQL IDE 306 14.3.3 逆向工程GraphQL请求 307 14.3.4 使用内省逆向工程GraphQL集合 309 14.4 GraphQL API分析 311 14.4.1 使用GraphiQL Documentation Explorer编写请求 311 14.4.2 使用InQL Burp扩展 313 14.5 用于命令注入的模糊测试 316 14.6 小结 321 第 15章 数据泄露和漏洞赏金 322 15.1 数据泄露 322 15.1.1 Peloton 323 15.1.2 USPS通知可见性API 324 15.1.3 T-Mobile API泄露 326 15.2 漏洞赏金 328 15.2.1 优质API密钥的价格 328 15.2.2 私有API授权问题 329 15.2.3 星巴克:从未发生的数据泄露 331 15.2.4 Instagram的GraphQL BOLA 334 15.3 小结 336 附录 API黑客攻击检查清单 337 后记 340 书评(媒体评论) 本书从基础概念出发,深入剖析常见 API 漏洞的成因,并提供了实战中的有效防护 策略,鼓励读者以积极的态度进行思考。这段高效的学习旅程从工具解析和侦察技巧开 始,逐步深入模糊测试和复杂访问控制等各个环节。通过丰富的实验案例介绍、技巧分 享和真实案例分析,作者将 API 安全的全部精华凝聚成本书。 ——Erez Yalon,Checkmarx 安全研究副总裁,OWASP API 安全项目负责人 本书以一种生动有趣的方式,带领读者深入探索 API 的生命周期,不仅激发了读者 对 API 攻防的深入探索欲望,还点燃了读者对合法的 API 目标应用新知识的热情。本书 从基础概念到案例分析,再到工具解析与应用详解,为读者提供了全面而深入的知识体 系。本书是 API 安全领域的宝贵资源,特别适合那些致力于应对高级对抗性研究、进行 安全评估或 DevSecOps 挑战的专业人士阅读。 ——Chris Roberts,Ethopass 战略顾问,国际虚拟首席信息安全官 本书为渗透测试人员提供了全面的指导和支持,帮助他们更好地理解和应对现代 Web 应用中的 API 安全挑战。无论你是刚入行的新手,还是已有一定经验的安全专家, 本书都能提供极大的帮助。本书详细介绍了 API 安全测试的工具和技巧,帮助读者快速 掌握 API 安全的核心要点。同时,书中还提供了众多实用的自动化方法和绕过防护策略, 帮助读者在渗透测试中取得更佳成效。在阅读本书后,读者会全面提升渗透测试技能,能为保障 Web 应用安全做出重要贡献。 ——Vickie Li,《漏洞赏金训练营》作者 本书为 API 安全领域提供了一份宝贵的入门指南,它以通俗易懂的方式深入解析了 API 安全这一复杂而关键的主题。书中重点关注访问控制的核心议题,通过讲解真实案例, 帮助读者全面理解 API 安全的各个方面。无论是追求高额漏洞赏金的安全研究人员,还 是希望提升组织 API 安全性的决策者,都能从本书中获得实用且坚实的指导方法和建议。 ——Inon Shkedy,Traceable AI 安全研究员,OWASP API 安全项目负责人 尽管互联网上充斥着有关网络安全的各种话题,但仍难以找到关于如何成功对 API 进行渗透测试的深刻见解。本书无疑满足了这一需求。本书既适合网络安全的初学者学 习参考,也适合经验丰富的专业人士阅读。 ——Cristi Vlad,网络安全分析师和渗透测试员 |