Web安全測試技術詳解

李勇勝

  • 出版商: 人民郵電
  • 出版日期: 2025-03-01
  • 定價: $659
  • 售價: 8.5$560
  • 語言: 簡體中文
  • 頁數: 399
  • ISBN: 7115631174
  • ISBN-13: 9787115631176
  • 下單後立即進貨 (約4週~6週)

  • Web安全測試技術詳解-preview-1
  • Web安全測試技術詳解-preview-2
Web安全測試技術詳解-preview-1

商品描述

《Web安全測試技術詳解》基於開源安全測試工具SafeTool-51testing和靶機系統WebGoat,系統而深入地闡述了Web安全測試的核心知識、實用工具與關鍵技術。

《Web安全測試技術詳解》共12章,其內容涵蓋SQL註入、路徑遍歷、身份驗證、密碼重置、敏感信息泄露、XXE、訪問控制、XSS、反序列化、組件、請求偽造等主流漏洞的測試方法,並提供了相應的防禦策略。此外,本書還深入剖析了前端安全和CTF等Web攻防類型題目的解題思路及方法,為讀者提供了全面的Web安全測試指導。

《Web安全測試技術詳解》既可作為安全測試初學者的快速入門書,也可作為測試工程師的實戰指導書,還可作為相關培訓機構的教材。

作者簡介

李勇勝,資深軟件測試工程師,Gitee 平臺開源項目(安全測試工具和自動化測試工具)維護者,51Testing 軟件測試網簽約作者,擁有 10 餘年的軟件測試經驗,熱衷於分享自己的實踐經驗和測試技巧,曾多次在 51Testing 軟件測試網舉辦的講座上做專題分享,深受業界認可。

目錄大綱

第 1章 安全測試必備知識 1

1.1 安全測試概述 2

1.2 環境搭建 2

1.2.1 安裝安全測試工具運行環境 3

1.2.2 安裝Visual Studio Code 6

1.2.3 啟動服務器和安裝WebGoat系統 8

1.3 靶機系統 15

1.3.1 WebGoat系統 15

1.3.2 WebWolf系統 16

1.4 安全測試基礎知識 23

1.4.1 HTTP基礎知識 23

1.4.2 HTTP代理工具 29

1.4.3 開發者工具 30

1.4.4 信息安全三要素 34

1.4.5 加密與編碼基礎 37

第 2章 SQL註入漏洞 52

2.1 SQL註入漏洞基礎知識 52

2.1.1 SQL語句的類型與SQL註入漏洞的類型 53

2.1.2 SQL語句 53

2.1.3 DML語句 55

2.1.4 DDL語句 56

2.1.5 DCL語句 57

2.1.6 如何利用SQL註入漏洞 58

2.1.7 SQL註入的後果 59

2.1.8 影響SQL註入的因素 60

2.1.9 測試字符型SQL註入漏洞 62

2.1.10 測試數字型SQL註入漏洞 63

2.1.11 利用SQL註入漏洞獲取 敏感數據 68

2.1.12 註入SQL查詢鏈 70

2.1.13 SQL註入漏洞對系統可用性 的破壞 74

2.2 SQL註入漏洞進階 74

2.2.1 組合註入 74

2.2.2 組合註入技巧 76

2.2.3 SQL盲註 78

2.2.4 演示SQL盲註的方法 79

2.2.5 做筆試題 82

第3章 SQL註入防禦和路徑遍歷漏洞 85

3.1 SQL註入防禦 85

3.1.1 SQL註入的防禦方法 85

3.1.2 存儲過程 86

3.1.3 參數化查詢 87

3.1.4 編寫安全代碼 88

3.1.5 編寫可運行的安全代碼 90

3.1.6 參數化查詢的.NET方式 91

3.1.7 使用輸入驗證防禦SQL註入 漏洞 92

3.1.8 穿透薄弱的輸入驗證(一) 93

3.1.9 穿透薄弱的輸入驗證(二) 99

3.1.10 order by註入 101

3.1.11 如何利用order by註入 103

3.1.12 最小特權限制 109

3.2 路徑遍歷漏洞 109

3.2.1 路徑遍歷漏洞的原理 110

3.2.2 實現任意文件上傳 111

3.2.3 穿透薄弱的防禦規則 113

3.2.4 穿透頁面的過濾規則 114

3.2.5 獲取敏感文件 117

第4章 身份驗證 124

4.1 繞過身份驗證 124

4.1.1 身份驗證繞過的方式 124

4.1.2 雙因素身份認證中的密碼重置 127

4.2 會話令牌 132

4.2.1 JWT簡介 132

4.2.2 JWT的結構 133

4.2.3 如何使用JWT 136

4.2.4 JWT簽名算法的None漏洞 137

4.2.5 弱簽名密鑰的爆破攻擊 145

4.2.6 刷新令牌 150

4.2.7 刷新令牌存在的漏洞 154

4.2.8 越權操作漏洞 161

第5章 密碼重置和安全密碼 167

5.1 密碼重置 167

5.1.1 接收密碼重置郵件 168

5.1.2 確定已註冊的賬戶 173

5.1.3 安全問題存在的漏洞 173

5.1.4 如何設置安全問題 180

5.1.5 重置密碼鏈接存在的漏洞 181

5.1.6 如何設計安全的密碼重置功能 187

5.2 安全密碼 189

5.2.1 密碼標準 190

5.2.2 如何設置一個安全性足夠強的密碼 191

5.2.3 如何提高賬戶的安全性 191

5.2.4 如何安全地存儲密碼 192

第6章 敏感信息泄露和XXE漏洞 193

6.1 敏感信息泄露 193

6.1.1 為什麽需要對敏感數據進行加密 193

6.1.2 嗅探HTTP數據包的敏感內容 197

6.2 XXE漏洞 199

6.2.1 XML基礎知識 199

6.2.2 XML實體和XXE漏洞 202

6.2.3 XXE註入舉例 203

6.2.4 利用XXE漏洞顯示文件系統的目錄 205

6.2.5 針對測驗6.2的防禦方案 209

6.2.6 通過代碼審查找到XXE漏洞 210

6.2.7 REST框架的XXE漏洞 212

6.2.8 針對REST框架的XXE漏洞的解決方案 215

6.2.9 利用XXE漏洞實施的DoS 攻擊 216

6.2.10 XXE盲註 217

6.2.11 如何利用XXE盲註 218

6.2.12 如何防禦XXE漏洞 223

第7章 訪問控制漏洞 224

7.1 不安全的直接對象引用 224

7.1.1 什麽是IDOR 224

7.1.2 使用合法的用戶身份登錄 225

7.1.3 對比差異點 226

7.1.4 猜測和預測模式 228

7.1.5 測試不安全的對象引用 229

7.1.6 如何做到安全的對象引用 237

7.2 缺少功能級訪問控制 238

7.2.1 什麽是缺少功能級訪問控制 238

7.2.2 定位前端頁面隱藏功能 239

7.2.3 利用訪問控制漏洞收集用戶信息 244

第8章 XSS漏洞 249

8.1 XSS漏洞基礎知識 249

8.2 在前端執行JavaScript語句 254

8.3 可能存在XSS漏洞的位置 258

8.4 XSS漏洞的危害 258

8.5 反射型XSS漏洞的利用場景 259

8.6 測試反射型XSS漏洞 260

8.7 Self-XSS漏洞 269

8.8 基於DOM的XSS漏洞 270

8.9 識別基於DOM的XSS漏洞 271

8.10 測試基於DOM的XSS漏洞 274

8.11 涉及XSS漏洞的筆試題 278

第9章 反序列化漏洞 281

9.1 快速熟悉一門語言的思維框架 281

9.2 序列化和反序列化 285

9.3 如何利用Java反序列化漏洞 286

9.4 反序列化漏洞的調用鏈 296

9.5 如何利用反序列化漏洞 297

第 10章 組件漏洞 304

10.1 什麽是組件 304

10.2 開源組件的生態系統 305

10.3 OWASP對組件漏洞的描述 306

10.4 WebGoat系統的組件的安全性 309

10.5 前端組件jquery-ui的特定版本 310

10.6 軟件產品中引用開源組件需要註意的事項 311

10.7 如何生成物料清單 312

10.8 如何處理安全信息過載 318

10.9 如何處理許可證信息過載 318

10.10 開源組件在軟件架構中的 使用情況 319

10.11 開源組件的XStream漏洞 319

10.12 開源組件的安全現狀以及如何 應對安全風險 323

第 11章 請求偽造漏洞 325

11.1 CSRF漏洞 325

11.1.1 什麽是CSRF漏洞 325

11.1.2 GET型CSRF漏洞 326

11.1.3 測試GET型CSRF漏洞 326

11.1.4 測試POST型CSRF漏洞 332

11.1.5 如何防止CSRF漏洞 335

11.1.6 JSON型CSRF漏洞 336

11.1.7 測試JSON型CSRF漏洞 337

11.1.8 針對登錄請求的CSRF攻擊 341

11.1.9 CSRF漏洞的影響和解決

方案 346

11.2 SSRF漏洞 347

11.2.1 SSRF漏洞簡介 347

11.2.2 利用SSRF漏洞加載指定資源 350

11.2.3 利用SSRF漏洞偽造請求 354

11.2.4 SSRF漏洞的防禦方法 358

第 12章 前端安全和高階CTF挑戰 359

12.1 繞過前端限制 359

12.1.1 什麽是繞過前端限制 359

12.1.2 突破HTML代碼限制 360

12.1.3 突破JavaScript腳本限制 364

12.2 客戶端過濾 369

12.2.1 什麽是客戶端過濾 369

12.2.2 定位敏感信息 370

12.2.3 定位前端敏感功能 372

12.3 HTML篡改 376

12.3.1 什麽是HTML篡改 376

12.3.2 利用HTML篡改低價購物 377

12.3.3 如何防止HTML篡改 380

12.4 CTF題型之一 380

12.4.1 CTF題目規則 381

12.4.2 找回丟失的管理員登錄密碼 381

12.5 CTF題型之二 385

12.6 CTF題型之三 389

12.7 CTF題型之四 396