商品详情

109.80

API攻防:Web API安全指南 [美] 科里·鲍尔 著,皇智远,孔韬循 译 人民邮电出版社

数量

商品详情

  编辑推荐

  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及其漏洞的全面介绍,也可为安全从业人员提供高级工具和技术见解。

  作者简介

  科里·鲍尔(Corey Ball)是 Moss Adams 的网络安全咨询经理,也是渗透测试服务部门的负责人。他在信息技术和网络安全领域积累了超过 10 年的丰富经验,涉及多个行业,包括航空航天、农业、能源、金融科技、政府服务以及医疗保健等。他曾在萨克拉门托州立大学取得英语与哲学双学士学位,他还持有 OSCP、CCISO、CEH、CISA、CISM、CRISC 和 CGEIT 等专业资格认证。

  精彩书评

  本书从基础概念出发,深入剖析常见 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,网络安全分析师和渗透测试员

  目录

  目  录

  第 一部分 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


相关产品推荐

服务参数

- 本商品享受上述商家服务 - 关闭

商品参数

×