Java代码安全审计

(入门篇)

目录

第一章 初识Java代码审计

  • 1.1代码审计的意义

  • 1.2 Java代码审计的所需基础

  • 1.3代码审计的常用思路

第二章 代码审计环境搭建

  • 2.1 JDK的下载与安装

  • 2.1.1 JDK的下载

  • 2.1.2 JDK的安装

  • 2.1.3 添加JDK到系统环境

  • 2.2 Docker容器编排

  • 2.2.1 Docker基本原理及操作

  • 2.2.2 使用Vulhub快速搭建漏洞验证环境

  • 2.3 远程调试

  • 2.3.1 对Weblogic进行远程调试

  • 2.3.2 对Tomcat进行远程调试

  • 2.3.3 Vmware虚拟机搭建远程调试环境

  • 2.4 项目构建工具

  • 2.4.1 Maven基础知识及掌握

  • 2.4.2 Swagger特点及使用

第三章 代码审计辅助工具

  • 3.1 代码编辑器

  • 3.1.1 Sublime

  • 3.1.2 IDEA

  • 3.1.3 Eclipse

  • 3.2 测试工具

  • 3.2.1 Burp Suite

  • 3.2.2 SwitchyOmega

  • 3.2.3 Max Hacker Bar

  • 3.2.4 Postman

  • 3.2.5 Postwomen

  • 3.2.6 TamperData

  • 3.2.7 Ysoserial

  • 3.2.8 marshalsec

  • 3.2.9 Mysql 监视工具

  • 3.2.10 Beyond Compare

  • 3.3 反编译工具

  • 3.3.1 JD-GUI

  • 3.3.2 FernFlower

  • 3.3.3 CRF

  • 3.3.4 IntelliJ IDEA

  • 3.4 Java代码静态扫描工具

  • 3.4.1 Fortify SCA

  • 3.4.2 VCG

  • 3.4.3 FindBugs与FindSecBugs插件

  • 3.4.4 SpotBugs

  • 3.5 公开漏洞查找平台

  • 3.5.1 CVE(http://cve.mitre.org/)

  • 3.5.2 NVD(https://nvd.nist.gov/)

  • 3.5.3 CNVD(https://www.cnvd.org.cn/)

  • 3.5.4 CNNVD(http://www.cnnvd.org.cn/)

  • 3.6 小结

第四章 Java EE基础知识补充

  • 4.1 Java EE 分层模型

  • 4.1.1 Java EE的核心技术

  • 4.1.2 Java EE分层模型

  • 4.2 了解MVC模式与MVC框架

  • 4.2.1 Java MVC 模式

  • 4.2.2 Java MVC框架

  • 4.3 Java Web的核心技术——Servlet

  • 4.3.1 Servlet 的配置

  • 4.3.2 Servlet 的访问流程

  • 4.3.3 Servlet 的接口方法

  • 4.3.4 Servlet 的生命周期

  • 4.4 Java Web 过滤器——filter

  • 4.4.1 filter 的配置

  • 4.4.2 filter 的使用流程及实现方式

  • 4.4.3 filter 的接口方法

  • 4.4.4 filter 的生命周期

  • 4.5 Java反射机制

  • 4.5.1 什么是反射

  • 4.5.2 反射的用途

  • 4.5.3 反射的基本运用

  • 4.5.4 不安全的反射

  • 4.6 ClassLoader类加载机制

  • 4.6.1 ClassLoader类

  • 4.6.2 loadClass()方法的流程

  • 4.6.3 自定义的类加载器

  • 4.6.4 loadClass()方法和Class.forName的区别

  • 4.6.5 URLClassLoader

  • 4.7 Java动态代理

  • 4.7.1 静态代理

  • 4.7.2 动态代理

  • 4.7.3 CGLib 代理

  • 4.8 Javassist动态编程

  • 4.9 可用于JavaWeb的安全开发框架

  • 4.9.1 Spring Security

  • 4.9.2 Apache Shiro

  • 4.9.3 OAuth2.0

  • 4.9.4 JWT

第五章 “OWASP Top10 2017”漏洞的代码审计

  • 5.1注入

  • 5.1.1 漏洞简介

  • 5.1.2 SQL注入

  • 5.1.3 命令注入

  • 5.1.4 代码注入

  • 5.1.5 表达式注入

  • 5.1.6 模板注入

  • 5.1.7 小结

  • 5.2失效的身份认证

  • 5.2.1 漏洞简介

  • 5.2.2 Webgoat8 JWT Token猜解实验

  • 5.2.3 小结

  • 5.3敏感信息泄露

  • 5.3.1 漏洞简介

  • 5.3.2 TurboMail 5.2.0敏感信息泄露漏洞

  • 5.3.3 开发组件敏感信息泄露漏洞

  • 5.3.4小结

  • 5.4 XML 外部实体注入(XXE)

  • 5.4.1 漏洞简介

  • 5.4.2 读取系统文件

  • 5.4.3 DoS攻击

  • 5.4.4 Blind XXE

  • 5.4.5 修复案例

  • 5.4.6小结

  • 5.5 失效的访问控制

  • 5.5.1 漏洞简介

  • 5.5.2 横向越权

  • 5.5.3 纵向越权

  • 5.5.4 小结

  • 5.6 安全配置错误

  • 5.6.1 漏洞简介

  • 5.6.2 Tomcat 任意文件写入(CVE-2017-12615)

  • 5.6.3 Tomcat AJP 文件包含漏洞(CVE-2020-1938)

  • 5.6.4 Spring Boot 远程命令执行

  • 5.6.5 小结

  • 5.7 跨站脚本(XSS)

  • 5.7.1 漏洞简介

  • 5.7.2 反射型XSS

  • 5.7.3 存储型XSS

  • 5.7.4 DOM型XSS

  • 5.7.5 修复建议

  • 5.7.6小结

  • 5.8 不安全的反序列化

  • 5.8.1漏洞简介

  • 5.8.2 反序列化基础

  • 5.8.3漏洞产生的必要条件

  • 5.8.4 反序列化拓展

  • 5.8.5 Apache Commons Collections反序列化漏洞

  • 5.8.6 FastJSON反序列化漏洞

  • 5.8.7小结

  • 5.9 使用含有已知漏洞的组件

  • 5.9.1漏洞简介

  • 5.9.2 Weblogic中组件的漏洞

  • 5.9.3 富文本编辑器漏洞

  • 5.9.4小结

  • 5.10 不足的日志记录和监控

  • 5.10.1漏洞简介

  • 5.10.2 CRLF 日志注入

  • 5.10.3未记录可审计性事件

  • 5.10.4对日志记录和监控的安全建议

  • 5.10.5小结

第六章 “OWASP Top10 2017”之外常见漏洞的代码审计

  • 6.1 CSRF

  • 6.1.1 CSRF简介

  • 6.1.2 实际案例及修复方式

  • 6.1.3 小结

  • 6.2 SSRF

  • 6.2.1 SSRF简介

  • 6.2.2实际案例及修复方式

  • 6.2.3小结

  • 6.3 URL跳转与钓鱼

  • 6.3.1 URL 跳转漏洞简介

  • 6.3.2 实际案例及修复方式

  • 6.3.3 小结

  • 6.4 文件操作

  • 6.4.1 简介

  • 6.4.2漏洞发现与修复案例

  • 6.4.3 小结

  • 6.5 Web后门

  • 6.5.1 简介

  • 6.5.2 Java Web 后门案例讲解

  • 6.5.3 小结

  • 6.6 逻辑漏洞

  • 6.6.1 简介

  • 6.6.2 漏洞发现与修复案例

  • 6.6.3 小结

  • 6.7 前端配置不当

  • 6.7.1 简介

  • 6.7.2 漏洞发现与修复案例

  • 6.7.3 小结

  • 6.8 拒绝服务攻击

  • 6.8.1 简介

  • 6.8.2 漏洞发现与修复案例

  • 6.8.3 小结

  • 6.9 点击劫持漏洞

  • 6.9.1 简介

  • 6.9.2 漏洞发现与修复案例

  • 6.9.3 小结

  • 6.10 HTTP参数污染

  • 6.10.1 简介

  • 6.10.2 漏洞发现与修复案例

  • 6.10.3 小结

第七章 Java EE开发框架安全审计

  • 7.1 开发框架审计技巧简介

  • 7.1.1 SSM框架审计技巧

  • 7.1.2 Struts2框架审计技巧

  • 7.1.3 SpringBoot框架审计技巧

  • 7.2 开发框架使用不当范例(Struts2 远程代码执行)

第八章 JSPXCMS代码审计实战

  • 8.1 JSPXCMS简介

  • 8.2 安装

  • 8.2.1 安装环境需求

  • 8.2.2 安装步骤

  • 8.3 目录结构及功能说明

  • 8.3.1 目录结构

  • 8.3.2 功能说明

  • 8.4 第三方组件漏洞审计

  • 8.5 单点漏洞审计

  • 8.5.1 SQL 审计

  • 8.5.2 XSS 审计

  • 8.5.3 SSRF 审计

  • 8.5.4 RCE 审计

  • 8.6 本章总结

第九章 小话IAST与RASP

  • 9.1 IAST简介

  • 9.2 RASP简介

  • 9.3 单机版OpenRASP Agent实验探究

  • 9.3.1 实验环境

  • 9.3.2 实验过程

  • 9.4 OpenRASP Java Agent原理浅析

  • 9.5 本章小结

MS08067官方公众号

Wechat QRCode