更新时间:2025-01-09 16:37:52
封面
版权信息
内容提要
前言
第1章 概述
1.1 CTF的起源和意义
1.2 CTF竞赛的主要内容
1.2.1 CTF竞赛题目形式
1.2.2 CTF竞赛模式
1.2.3 CTF竞赛组织方式
1.3 CTF竞赛的学习方法
1.3.1 夯实基础,勤于动手
1.3.2 积极参赛,以赛代练
1.3.3 组队学习,共同成长
第2章 准备工作
2.1 前序课程准备
2.1.1 编程及计算机基础课程
2.1.2 计算机网络相关课程
2.1.3 操作系统相关课程
2.1.4 密码学相关课程
2.2 学习环境准备
2.2.1 操作系统安装
2.2.2 Web 环境搭建
2.2.3 二进制环境搭建
2.3 “First Blood”
2.3.1 网页代码审计
2.3.2 JavaScript 代码审计
2.3.3 消失的右键菜单
2.3.4 控制台巧反混淆
2.3.5 控制台再反混淆
2.3.6 响应头中的秘密
2.3.7 善用搜索引擎
2.3.8 简单的MD5解密
2.3.9 简单的程序开发
2.3.10 简单的图像隐写
2.3.11 Cookie可以改
2.3.12 Session 不能改
2.3.13 简单的XSS
2.3.14 简单的SQL注入
2.3.15 简单的逆向分析
2.3.16 成功通关
第3章 Web
3.1 基础知识
3.1.1 Web探究
3.1.2 Web安全基础
3.1.3 Web关键技术
3.2 实验环境与常用工具
3.2.1 实验环境
3.2.2 常用工具
3.3 服务层安全
3.3.1 服务端开发语言安全
3.3.2 服务端开发框架安全
3.3.3 服务端软件安全
3.3.4 服务端容器安全
3.3.5 服务端应用安全
3.3.6 服务端数据库安全
3.3.7 服务端网络服务安全
3.3.8 其他服务端漏洞
3.4 协议层安全
3.4.1 HTTP安全
3.4.2 HTTPS安全
3.4.3 DNS协议安全
3.5 客户层安全
3.5.1 XSS漏洞
3.5.2 CSRF漏洞
3.5.3 点击劫持
3.5.4 浏览器安全
3.6 Web中的认证机制
3.6.1 HTTP认证
3.6.2 单点登录
3.6.3 OAuth第三方认证
3.6.4 JSON Web Token
3.7 注入漏洞详解
3.7.1 SQL注入
3.7.2 XXE注入
3.7.3 HTML注入
3.7.4 LDAP注入
3.7.5 模板注入
3.8 反序列化漏洞详解
3.8.1 反序列化基础
3.8.2 PHP反序列化
3.8.3 Java反序列化
3.8.4 Python反序列化
第4章 Reverse
4.1 基础知识
4.1.1 Reverse是什么
4.1.2 程序的编译和解释
4.1.3 汇编语言基础
4.1.4 PE文件结构及执行原理
4.1.5 进程和线程
4.1.6 API函数和句柄
4.2 常用工具
4.2.1 文件查看工具
4.2.2 文件编辑器
4.2.3 静态分析工具
4.2.4 动态调试工具
4.3 一般程序逆向
4.3.1 问题解析
4.3.2 技术方法
4.3.3 赛题举例