Java代碼審計實戰

王月兵、柳遵梁、覃錦端、劉聰

  • 出版商: 人民郵電
  • 出版日期: 2025-05-01
  • 售價: $719
  • 語言: 簡體中文
  • 頁數: 434
  • ISBN: 7115658692
  • ISBN-13: 9787115658692
  • 下單後立即進貨 (約4週~6週)

  • Java代碼審計實戰-preview-1
  • Java代碼審計實戰-preview-2
Java代碼審計實戰-preview-1

相關主題

商品描述

本書是一部全面且深入的 Java 代碼審計指南,旨在幫助讀者掌握 Java Web 應用中常見安全漏洞的識別、分析及防禦技能。全書共分 4 篇,從基礎到實戰,系統地介紹 Java 代碼審計的各個方面。

基礎篇(第 1 章)主要介紹 Java Web 環境的搭建步驟、常見的動態調試方法以及代碼審計工具的基本使用方法,為後續的深入學習打下堅實基礎。

入門篇(第 2 章~第 3 章)首先介紹 Java 代碼審計中發現的常見漏洞,然後通過實戰演練,以開源 Java 漏洞靶場 Java-sec-code 為藍本,運用代碼審計工具 CodeQL 進行審計。

高級篇(第 4 章~第 6 章)分別針對 Java Web 開發中常見的 SSM、SSH 及 Spring Boot + MyBatis 等框架進行詳細介紹,並選取其中典型的框架漏洞進行深入剖析和調試分析。

實戰篇(第 7 章)通過真實 Java Web 應用程序的審計案例,詳細展示如何在實踐中運用 CodeQL 等審計工具快速發現並解決安全漏洞。

本書是一本集理論與實踐於一體的 Java 代碼審計寶典,適合軟件開發工程師、網絡運維人員、滲透測試工程師、網絡安全工程師及其他有志於從事網絡安全工作的人員閱讀學習。

作者簡介

王月兵

杭州美創科技股份有限公司59號安全實驗室負責人,高級工程師。長期致力於網絡安全和數據安全領域的研究,在安全漏洞挖掘和網絡攻防方面積累了深厚的經驗,多次受邀擔任公開課講師及各類安全會議的演講嘉賓。迄今為止,已出版《數據安全實踐指南》和《內網滲透實戰攻略》兩部著作,在國內期刊上發表了4篇學術論文,並獲得了10項發明專利。此外,持有CISSP、CISP、信息系統項目管理師等多項行業認證,被評定為杭州市高層次人才E類。

柳遵梁

杭州美創科技股份有限公司董事長兼CEO,高級工程師,全國工商聯網絡與數據安全委員會委員,中國網絡安全產業聯盟常務理事,中關村網絡安全與信息化產業聯盟理事,浙江省網絡空間安全協會數據安全治理專委會主任兼秘書長,被評定為杭州市高層次人才D類。擁有20年的數據管理和信息安全從業經驗,在通信、社保、醫療、金融等民生行業積累了豐富的實踐經驗。具備長遠的戰略眼光,能夠準確把握技術發展趨勢,持續推動公司創新。帶領公司完成了運維、服務、產品的多次轉型,成為國內數據安全管理領域的領先綜合供應商。著有《內網滲透實戰攻略》和《Oracle數據庫性能優化方法論和最佳實踐》等圖書,並發表多篇學術文章。

覃錦端

杭州美創科技股份有限公司59號安全實驗室研究員,中級信息安全工程師,網絡與信息安全管理員技師,註冊信息安全專業人員(CISP)。主要研究領域為網絡安全攻防、數據安全防禦,具有較為豐富的網絡安全攻防實戰經驗。

劉聰

杭州美創科技股份有限公司59號安全實驗室研究員,主要研究領域為ATT&CK框架、Web安全和業務安全等,獲得CISP資質認證,擁有豐富的傳統安全服務經驗,以及攻防演練紅藍隊實戰項目經驗。

目錄大綱

基礎篇

第 1 章 Java 代碼審計基礎 3

1.1 Java Web 環境的搭建 3

1.1.1 JDK 的安裝與配置 3

1.1.2 Tomcat 的安裝與配置 8

1.2 Java Web 動態調試方法 13

1.2.1 本地動態調試 13

1.2.2 遠程動態調試 15

1.3 代碼審計工具介紹 24

1.3.1 IDEA 24

1.3.2 SpotBugs 28

1.3.3 Fortify 33

1.3.4 CodeQL 36

1.3.5 Semgrep 45

入門篇

第 2 章 Java 代碼審計常見漏洞 51

2.1 SQL 註入 51

2.1.1 SQL 註入簡介 51

2.1.2 常見的 SQL 註入漏洞 52

2.1.3 SQL 註入漏洞代碼審計要點與防禦方法 66

2.2 XSS 漏洞 66

2.2.1 XSS 漏洞簡介 67

2.2.2 常見的 XSS 漏洞 67

2.2.3 XSS 漏洞代碼審計要點 70

2.2.4 XSS 漏洞的防禦方法 70

2.3 命令執行漏洞 71

2.3.1 命令執行漏洞簡介 71

2.3.2 常見的命令執行漏洞 71

2.3.3 命令執行漏洞代碼審計要點 82

2.3.4 命令執行漏洞的防禦方法 82

2.4 XXE 漏洞 83

2.4.1 XXE 漏洞簡介 83

2.4.2 常見的 XXE 漏洞 83

2.4.3 XXE 漏洞代碼審計要點 91

2.4.4 XXE 漏洞的防禦方法 91

2.5 任意文件上傳漏洞 92

2.5.1 任意文件上傳漏洞簡介 92

2.5.2 常見的任意文件上傳漏洞 93

2.5.3 任意文件上傳漏洞代碼審計要點 106

2.5.4 任意文件上傳漏洞的防禦方法 107

2.6 SSRF 漏洞 109

2.6.1 SSRF 漏洞簡介 109

2.6.2 常見的 SSRF 漏洞 110

2.6.3 SSRF 漏洞代碼的審計要點 115

2.6.4 SSRF 漏洞的防禦方法 115

2.7 反序列化漏洞 115

2.7.1 反序列化漏洞簡介 115

2.7.2 常見的反序列化漏洞 116

2.7.3 反序列化漏洞代碼審計要點 142

2.7.4 反序列化漏洞防禦 142

第 3 章 基於 Java-sec-code 的代碼審計 143

3.1 Java-sec-code 源碼審計基礎 143

3.1.1 Java-sec-code 項目介紹及搭建 143

3.1.2 Java-sec-code 審計的CodeQL 配置 145

3.2 Java-sec-code SQL 註入漏洞代碼審計 147

3.2.1 常規手工審計 148

3.2.2 基於 CodeQL 的半自動化審計 153

3.3 Java-sec-code XSS 漏洞代碼審計 156

3.3.1 常規手工審計 156

3.3.2 基於 CodeQL 的半自動化審計 161

3.4 Java-sec-code 命令執行漏洞代碼審計 163

3.4.1 常規手工審計 163

3.4.2 基於 CodeQL 的半自動化審計 168

3.5 Java-sec-code XXE 漏洞代碼審計 171

3.5.1 常規手工審計 171

3.5.2 基於 CodeQL 的半自動化審計 181

3.6 Java-sec-code 任意文件上傳漏洞代碼審計 188

3.6.1 常規手工審計 188

3.6.2 基於 CodeQL 的半自動化審計 196

3.7 Java-sec-code SSRF 漏洞代碼審計 198

3.7.1 常規手工審計 198

3.7.2 基於 CodeQL 的半自動化審計 208

3.8 Java-sec-code 反序列化漏洞代碼審計 214

3.8.1 常規手工審計 214

3.8.2 基於 CodeQL 的半自動化審計 242

高級篇

第 4 章 SSM 框架介紹及漏洞分析 247

4.1 SSM 框架介紹 247

4.2 SSM 框架漏洞分析 262

4.2.1 CVE-2022-22965 Spring Framework 遠程代碼執行漏洞分析 262

4.2.2 CVE-2020-26945 MyBatis 遠程代碼執行漏洞分析 273

4.3 SSM 框架代碼審計方法總結 279

第 5 章 SSH 框架介紹及漏洞分析 280

5.1 SSH 框架介紹 280

5.2 SSH 框架漏洞分析 293

5.2.1 Hibernate 框架 HQL 註入漏洞分析 294

5.2.2 Struts2 框架 S2-048 漏洞分析 297

5.2.3 Spring 框架 Messaging 組件遠程代碼執行漏洞分析 306

5.3 SSH 框架代碼審計方法總結 316

第 6 章 Spring Boot+MyBatis 框架介紹及漏洞分析 319

6.1 Spring Boot 介紹 319

6.2 Spring Boot 漏洞分析 326

6.2.1 Spring Boot Actuator 未授權訪問 327

6.2.2 CNVD-2016-04742 Spring Boot whitelabel error page SpEL RCE 分析 329

6.2.3 Spring Boot Actuator SnakeYAML RCE 338

6.2.4 CNVD-2019-11630 Spring Boot jolokia logback JNDI RCE 分析 346

6.2.5 Spring Boot restart logging.config groovy RCE 356

6.3 Spring Boot 框架代碼審計方法總結 366

6.3.1 Spring Boot SpEL 漏洞審計方法總結 366

6.3.2 Spring Boot JNDI 註入漏洞審計方法總結 367

6.3.3 Spring Boot groovy 腳本漏洞審計方法總結 367

6.3.4 MyBatis SQL 註入漏洞審計方法總結 368

實戰篇

第 7 章 代碼審計實戰 371

7.1 youkefu 代碼審計 371

7.1.1 youkefu 介紹及環境搭建 371

7.1.2 SSRF 漏洞代碼審計 375

7.1.3 反序列化漏洞代碼審計 381

7.1.4 XXE 漏洞代碼審計 385

7.1.5 SQL 註入漏洞代碼審計 391

7.1.6 任意文件上傳漏洞代碼審計 396

7.2 JeeWMS 代碼審計 401

7.2.1 JeeWMS 環境搭建 402

7.2.2 JeeWMS XXE 漏洞審計 409

7.2.3 JeeWMS 任意文件下載漏洞審計 416

7.2.4 JeeWMS 任意文件上傳漏洞審計 421

7.2.5 JeeWMS SQL 註入漏洞審計 428