目录
第1章绪论
1.1病毒和木马
1.1.1病毒
1.1.2蠕虫
1.1.3木马
1.2漏洞危害
1.3渗透测试
1.4实验环境
1.4.1VMware Workstation的使用
1.4.2认识Kali
第2章基础知识
2.1堆栈基础
2.1.1内存区域
2.1.2堆区和栈区
2.1.3函数调用
2.1.4常见寄存器与栈帧
2.2汇编语言
2.2.1主要寄存器
2.2.2寻址方式
2.2.3主要指令
2.2.4函数调用汇编示例
2.3二进制文件
2.3.1PE文件格式
2.3.2虚拟内存
2.3.3PE文件与虚拟内存的映射
2.4调试工具
2.4.1OllyDBG
2.4.2IDA
2.4.3OllyDBG示例
第3章漏洞概念
3.1概念及特点
3.1.1概念
3.1.2特点
3.2漏洞分类
3.2.1漏洞分类
3.2.2危险等级划分
3.3漏洞库
3.3.1CVE
3.3.2NVD
3.3.3CNNVD
3.3.4CNVD
3.3.5BugTraq
3.3.6其他漏洞库
3.4第一个漏洞
3.4.1漏洞示例
3.4.2漏洞利用示例
目录
第4章常见漏洞
4.1缓冲区溢出漏洞
4.1.1基本概念
4.1.2栈溢出漏洞
4.1.3其他溢出漏洞
4.2格式化字符串漏洞
4.3整数溢出漏洞
第5章漏洞利用
5.1漏洞利用概念
5.1.1有关概念
5.1.2示例
5.1.3Shellcode编写
5.2软件防护技术
5.2.1ASLR
5.2.2GS Stack protection
5.2.3DEP
5.2.4SafeSEH
5.2.5SEHOP
5.3漏洞利用技术
5.3.1地址利用技术
5.3.2绕过DEP保护
第6章漏洞挖掘
6.1静态检测
6.1.1静态检测方法
6.1.2静态安全检测技术的应用
6.1.3静态安全检测技术的实践
6.2动态检测
6.2.1模糊测试
6.2.2智能模糊测试
6.2.3动态污点分析
6.2.4动态检测实践
6.3动静结合检测
第7章渗透测试基础
7.1渗透测试过程
7.2Kali Linux基础
7.2.1常用指令
7.2.2软件包管理
7.3渗透测试框架
7.3.1认识Metasploit
7.3.2常用命令
第8章渗透测试实践
8.1信息收集
8.1.1被动信息收集
8.1.2主动信息收集
8.2扫描
8.2.1Nessus准备
8.2.2Nessus扫描
8.3漏洞利用
8.4后渗透攻击
8.4.1挖掘用户名和密码
8.4.2获取控制权
第9章Web安全基础
9.1基础知识
9.1.1HTTP协议
9.1.2HTML
9.1.3JavaScript
9.1.4HTTP会话管理
9.2Web编程环境安装
9.2.1环境安装
9.2.2JavaScript实践
9.3PHP与数据库编程
9.3.1PHP语言
9.3.2第一个Web程序
9.3.3连接数据库
9.3.4查询数据
9.3.5一个完整的示例
9.3.6Cookie实践
9.4Web安全威胁
第10章Web渗透实战基础
10.1文件上传漏洞
10.1.1WebShell
10.1.2文件上传漏洞
10.2跨站脚本攻击
10.2.1脚本的含义
10.2.2跨站脚本的含义
10.2.3跨站脚本攻击的危害
10.3SQL注入漏洞
10.3.1SQL语法
10.3.2注入原理
10.3.3寻找注入点
10.3.4SQLMap
10.3.5SQL注入实践
10.3.6SQL注入盲注
10.3.7SQL注入防御措施
第11章Web渗透实战进阶
11.1文件包含漏洞
11.1.1文件包含
11.1.2本地文件包含漏洞
11.1.3远程文件包含漏洞
11.1.4PHP伪协议
11.2反序列化漏洞
11.2.1序列化与反序列化
11.2.2PHP魔术方法
11.2.3PHP反序列化漏洞
11.3整站攻击案例
第12章软件安全开发
12.1软件开发生命周期
12.1.1软件开发生命周期
12.1.2软件开发生命周期模型
12.2软件安全开发
12.2.1建立安全威胁模型
12.2.2安全设计
12.2.3安全编程
12.2.4安全测试
12.3软件安全开发生命周期
样题
参考文献