图书目录

目录

第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软件安全开发生命周期

样题

参考文献