新書推薦:
《
积极心理学
》
售價:NT$
254.0
《
自由,不是放纵
》
售價:NT$
250.0
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:NT$
1265.0
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
918.0
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:NT$
347.0
《
美丽与哀愁:第一次世界大战个人史
》
售價:NT$
653.0
《
国家豁免法的域外借鉴与实践建议
》
售價:NT$
857.0
《
大单元教学设计20讲
》
售價:NT$
347.0
|
編輯推薦: |
1.系统介绍Java代码安全审计入门技术,助力安全人员剖析Web安全漏洞
2.内容结构划分合理,理论与实践结合入门Java代码审计
3.丰富详细案例讲解,扎实掌握Java代码审计知识技能
4.提供脚本源代码及环境工具资源下载
|
內容簡介: |
《Java代码审计 入门篇》由浅入深、系统地介绍了Java代码审计的流程、Java Web漏洞产生的原理以及实战讲解,并力求语言通俗易懂、举例简单明了,便于读者阅读领会。同时结合具体案例进行讲解,可以让读者身临其境,快速了解和掌握主流的Java代码安全审计技巧。
阅读《Java代码审计 入门篇》不要求读者具备代码审计的相关背景,如有相关经验,对理解本书内容会更有帮助。《Java代码审计 入门篇》也可作为高等院校信息安全专业的教材。
|
關於作者: |
徐焱,北京交通大学安全研究员,MS08067安全实验室创始人。从2002年开始接触网络安全,有丰富的渗透测试经验,主要研究方向为内网渗透测试和APT攻击。已出版图书《网络攻防实战研究:漏洞利用与提权》、《Web安全攻防:渗透测试实战指南》,在《黑客防线》、《黑客X档案》、《黑客手册》、FreeBuf、360安全客、阿里云盾先知、嘶吼等媒体发表过多篇技术文章。
|
目錄:
|
第 1章 初识Java代码审计1
1.1 代码审计的意义 1
1.2 Java代码审计所需的基础能力 3
1.3 代码审计的常用思路 4
第 2章 代码审计环境搭建 5
2.1 JDK的下载与安装 5
2.1.1 JDK的下载 5
2.1.2 JDK的安装 6
2.1.3 添加JDK到系统环境 8
2.2 Docker容器编排 10
2.2.1 Docker基本原理及操作 11
2.2.2 使用Vulhub快速搭建漏洞验证环境 21
2.3 远程调试 24
2.3.1 对Jar包进行远程调试 24
2.3.2 对Weblogic进行远程调试 27
2.3.3 对Tomcat进行远程调试 31
2.3.4 VMware虚拟机搭建远程调试环境 35
2.4 项目构建工具 35
2.4.1 Maven基础知识及掌握 36
2.4.2 Swagger特点及使用 40
第3章 代码审计辅助工具简介 41
3.1 代码编辑器 41
3.1.1 Sublime 41
3.1.2 IDEA 42
3.1.3 Eclipse 43
3.2 测试工具 43
3.2.1 Burp Suite 43
3.2.2 SwitchyOmega 46
3.2.3 Max HackerBar 47
3.2.4 Postman 48
3.2.5 Postwomen 49
3.2.6 Tamper Data 49
3.2.7 Ysoserial 50
3.2.8 Marshalsec 50
3.2.9 MySQL监视工具 51
3.2.10 Beyond Compare 55
3.3 反编译工具 56
3.3.1 JD-GUI 56
3.3.2 FernFlower 56
3.3.3 CFR 57
3.3.4 IntelliJ IDEA 58
3.4 Java代码静态扫描工具 58
3.4.1 Fortify SCA 58
3.4.2 VCG 59
3.4.3 FindBugs与FindSecBugs插件 60
3.4.4 SpotBugs 60
3.5 公开漏洞查找平台 61
3.5.1 CVE 61
3.5.2 NVD 62
3.5.3 CNVD 63
3.5.4 CNNVD 63
3.6 小结 64
第4章 Java EE基础知识 65
4.1 Java EE分层模型 65
4.1.1 Java EE的核心技术 66
4.1.2 Java EE分层模型 66
4.2 了解MVC模式与MVC框架 67
4.2.1 Java MVC 模式 68
4.2.2 Java MVC框架 69
4.3 Java Web的核心技术—Servlet 70
4.3.1 Servlet 的配置 70
4.3.2 Servlet的访问流程 73
4.3.3 Servlet的接口方法 73
4.3.4 Servlet 的生命周期 76
4.4 Java Web过滤器——filter 77
4.4.1 filter的配置 77
4.4.2 filter的使用流程及实现方式 79
4.4.3 filter的接口方法 80
4.4.4 filter 的生命周期 82
4.5 Java反射机制 82
4.5.1 什么是反射 83
4.5.2 反射的用途 83
4.5.3 反射的基本运用 84
4.5.4 不安全的反射 91
4.6 ClassLoader类加载机制 92
4.6.1 ClassLoader类 92
4.6.2 loadClass()方法的流程 93
4.6.3 自定义的类加载器 94
4.6.4 loadClass()方法与Class.forName的区别 95
4.6.5 URLClassLoader 96
4.7 Java动态代理 97
4.7.1 静态代理 97
4.7.2 动态代理 98
4.7.3 CGLib代理 100
4.8 Javassist动态编程 101
4.9 可用于Java Web的安全开发框架 103
4.9.1 Spring Security 103
4.9.2 Apache Shiro 104
4.9.3 OAuth 2.0 105
4.9.4 JWT 107
第5章 “OWASP Top 10 2017”漏洞的代码审计 109
5.1 注入 110
5.1.1 注入漏洞简介 110
5.1.2 SQL注入 110
5.1.3 命令注入 117
5.1.4 代码注入 121
5.1.5 表达式注入 125
5.1.6 模板注入 130
5.1.7 小结 133
5.2 失效的身份认证 134
5.2.1 失效的身份认证漏洞简介 134
5.2.2 WebGoat8 JWT Token猜解实验 134
5.2.3 小结 141
5.3 敏感信息泄露 142
5.3.1 敏感信息泄露简介 142
5.3.2 TurboMail 5.2.0敏感信息泄露 142
5.3.3 开发组件敏感信息泄露 146
5.3.4 小结 146
5.4 XML外部实体注入(XXE) 147
5.4.1 XXE漏洞简介 147
5.4.2 读取系统文件 148
5.4.3 DoS攻击 150
5.4.4 Blind XXE 151
5.4.5 修复案例 154
5.4.6 小结 156
5.5 失效的访问控制 157
5.5.1 失效的访问控制漏洞简介 157
5.5.2 横向越权 157
5.5.3 纵向越权 164
5.5.4 小结 168
5.6 安全配置错误 168
5.6.1 安全配置错误漏洞简介 168
5.6.2 Tomcat任意文件写入(CVE-2017-12615) 169
5.6.3 Tomcat AJP 文件包含漏洞(CVE-2020-1938) 173
5.6.4 Spring Boot远程命令执行 192
5.6.5 小结 203
5.7 跨站脚本(XSS) 203
5.7.1 跨站脚本漏洞简介 203
5.7.2 反射型XSS漏洞 204
5.7.3 存储型XSS漏洞 206
5.7.4 DOM型XSS漏洞 211
5.7.5 修复建议 212
5.7.6 小结 212
5.8 不安全的反序列化 212
5.8.1 不安全的反序列化漏洞简介 212
5.8.2 反序列化基础 213
5.8.3 漏洞产生的必要条件 214
5.8.4 反序列化拓展 215
5.8.5 Apache Commons Collections反序列化漏洞 218
5.8.6 FastJson反序列化漏洞 225
5.8.7 小结 235
5.9 使用含有已知漏洞的组件 235
5.9.1 组件漏洞简介 235
5.9.2 Weblogic中组件的漏洞 237
5.9.3 富文本编辑器漏洞 238
5.9.4 小结 241
5.10 不足的日志记录和监控 241
5.10.1 不足的日志记录和监控漏洞简介 241
5.10.2 CRLF注入漏洞 242
5.10.3 未记录可审计性事件 243
5.10.4 对日志记录和监控的安全建议 244
5.10.5 小结 244
第6章 “OWASP Top 10 2017”之外常见漏洞的代码审计 245
6.1 CSRF 245
6.1.1 CSRF简介 245
6.1.2 实际案例及修复方式 246
6.1.3 小结 249
6.2 SSRF 249
6.2.1 SSRF简介 249
6.2.2 实际案例及修复方式 250
6.2.3 小结 262
6.3 URL跳转 263
6.3.1 URL跳转漏洞简介 263
6.3.2 实际案例及修复方式 264
6.3.3 小结 267
6.4 文件操作漏洞 267
6.4.1 文件操作漏洞简介 267
6.4.2 漏洞发现与修复案例 268
6.4.3 小结 286
6.5 Web后门漏洞 287
6.5.1 Web后门漏洞简介 287
6.5.2 Java Web 后门案例讲解 287
6.5.3 小结 292
6.6 逻辑漏洞 293
6.6.1 逻辑漏洞简介 293
6.6.2 漏洞发现与修复案例 293
6.6.3 小结 299
6.7 前端配置不当漏洞 300
6.7.1 前端配置不当漏洞简介 300
6.7.2 漏洞发现与修复案例 300
6.7.3 小结 305
6.8 拒绝服务攻击漏洞 305
6.8.1 拒绝服务攻击漏洞简介 305
6.8.2 漏洞发现与修复案例 306
6.8.3 小结 322
6.9 点击劫持漏洞 323
6.9.1 点击劫持漏洞简介 323
6.9.2 漏洞发现与修复案例 324
6.9.3 小结 327
6.10 HTTP参数污染漏洞 327
6.10.1 HTTP参数污染漏洞简介 327
6.10.2 漏洞发现与修复案例 328
6.10.3 小结 330
第7章 Java EE开发框架安全审计 331
7.1 开发框架审计技巧简介 331
7.1.1 SSM框架审计技巧 331
7.1.2 SSH框架审计技巧 360
7.1.3 Spring Boot框架审计技巧 373
7.2 开发框架使用不当范例(Struts2 远程代码执行) 377
7.2.1 OGNL简介 377
7.2.2 S2-001漏洞原理分析 379
第8章 Jspxcms代码审计实战 390
8.1 Jspxcms简介 390
8.2 Jspxcms的安装 391
8.2.1 Jspxcms的安装环境需求 391
8.2.2 Jspxcms的安装步骤 391
8.3 目录结构及功能说明 399
8.3.1 目录结构 399
8.3.2 功能说明 402
8.4 第三方组件漏洞审计 406
8.5 单点漏洞审计 408
8.5.1 SQL审计 408
8.5.2 XSS 审计 411
8.5.3 SSRF审计 418
8.5.4 RCE审计 431
8.6 本章总结 440
第9章 小话IAST与RASP 441
9.1 IAST简介 441
9.2 RASP简介 443
9.3 单机版OpenRASP Agent实验探究 444
9.3.1 实验环境 444
9.3.2 实验过程 444
9.4 OpenRASP Java Agent原理浅析 448
9.5 本章总结 452
附录 Java安全编码规范索引 453
|
|