图书目录

目录

第1章绪论

1.1病毒和木马

1.1.1病毒

1.1.2蠕虫

1.1.3木马

1.2漏洞危害

1.2.1生活中的安全问题

1.2.2漏洞产业链

1.2.3漏洞产生的原因

1.2.4软件安全的维护

1.3渗透测试

1.3.1渗透测试方法分类

1.3.2渗透测试目标分类

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.1PE文件格式

2.2.2虚拟内存

2.2.3PE文件与虚拟内存的映射

2.3调试工具

2.3.1OllyDBG

2.3.2IDA

2.3.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.2BugTraq

3.3.3NVD

3.3.4CNNVD

3.3.5CNVD

3.3.6其他漏洞库

3.4第一个漏洞

第4章常见漏洞

4.1缓冲区溢出漏洞

4.1.1基本概念

4.1.2栈溢出漏洞

4.1.3其他溢出漏洞

4.2格式化字符串漏洞

4.3整数溢出漏洞

4.4SQL注入漏洞

第5章漏洞利用

5.1漏洞利用概念

5.1.1有关概念

5.1.2示例

5.1.3Shellcode编写

5.2漏洞利用技术

5.2.1静态Shellcode地址

5.2.2动态变化的Shellcode地址

5.2.3Heap Spray技术

5.3软件防护技术

5.3.1GS Stack Protection

5.3.2DEP

5.3.3ASLR

5.3.4SafeSEH

5.3.5SEHOP

第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.2SQL注入漏洞

10.2.1SQL语法

10.2.2注入原理

10.2.3寻找注入点

10.2.4SQLMap

10.2.5SQL注入实践

10.3跨站脚本攻击

10.3.1脚本的含义

10.3.2跨站脚本的含义

10.3.3跨站脚本攻击的危害

10.4整站攻击案例

第11章软件安全开发

11.1软件开发生命周期

11.1.1软件开发生命周期

11.1.2软件开发生命周期模型

11.2软件安全开发

11.2.1建立安全威胁模型

11.2.2安全设计

11.2.3安全编程

11.2.4安全测试

11.3软件安全开发生命周期

样题

参考文献