更新时间:2020-03-31 14:28:58
封面
版权信息
关于“zero day attack”
自序
再版序
前言
内容导读
第1篇 漏洞利用原理(初级)
第1章 基础知识
1.1 漏洞概述
1.2 二进制文件概述
1.3 必备工具
1.4 Crack小实验
第2章 栈溢出原理与实践
2.1 系统栈的工作原理
2.2 修改邻接变量
2.3 修改函数返回地址
2.4 代码植入
第3章 开发shellcode的艺术
3.1 shellcode概述
3.2 定位shellcode
3.3 缓冲区的组织
3.4 开发通用的shellcode
3.5 shellcode编码技术
3.6 为shellcode“减肥”
第4章 用MetaSploit开发Exploit
4.1 漏洞测试平台MSF简介
4.2 入侵Windows系统
4.3 利用MSF制作shellcode
4.4 用MSF扫描“跳板”
4.5 Ruby语言简介
4.6 “傻瓜式”Exploit开发
4.7 用MSF发布POC
第5章 堆溢出利用
5.1 堆的工作原理
5.2 在堆中漫游
5.3 堆溢出利用(上)——DWORD SHOOT
5.4 堆溢出利用(下)——代码植入
第6章 形形色色的内存攻击技术
6.1 狙击Windows异常处理机制
6.2 “off by one”的利用
6.3 攻击C++的虚函数
6.4 Heap Spray:堆与栈的协同攻击
第7章 手机里的缓冲区溢出
7.1 Windows Mobile简介
7.2 ARM简介
7.3 Windows Mobile上的HelloWorld
7.4 远程调试工具简介
7.5 手机上的exploit me
第8章 其他类型的软件漏洞
8.1 格式化串漏洞
8.2 SQL注入攻击
8.3 其他注入方式
8.4 XSS攻击
8.5 路径回溯漏洞
第2篇 漏洞利用原理(高级)
第9章 Windows安全机制概述
第10章 栈中的守护天使:GS
10.1 GS安全编译选项的保护原理
10.2 利用未被保护的内存突破GS
10.3 覆盖虚函数突破GS
10.4 攻击异常处理突破GS
10.5 同时替换栈中和.data中的Cookie突破GS
第11章 亡羊补牢:SafeSEH
11.1 SafeSEH对异常处理的保护原理
11.2 攻击返回地址绕过SafeSEH
11.3 利用虚函数绕过SafeSEH
11.4 从堆中绕过SafeSEH
11.5 利用未启用SafeSEH模块绕过SafeSEH
11.6 利用加载模块之外的地址绕过SafeSEH
11.7 利用Adobe Flash Player ActiveX控件绕过SafeSEH
第12章 数据与程序的分水岭:DEP
12.1 DEP机制的保护原理
12.2 攻击未启用DEP的程序
12.3 利用Ret2Libc挑战DEP
12.4 利用可执行内存挑战DEP
12.5 利用.NET挑战DEP
12.6 利用Java applet挑战DEP
第13章 在内存中躲猫猫:ASLR
13.1 内存随机化保护机制的原理
13.2 攻击未启用ASLR的模块
13.3 利用部分覆盖进行定位内存地址
13.4 利用Heap spray技术定位内存地址
13.5 利用Java applet heap spray技术定位内存地址
13.6 为.NET控件禁用ASLR
第14章 S.E.H终极防护:SEHOP
14.1 SEHOP的原理
14.2 攻击返回地址
14.3 攻击虚函数
14.4 利用未启用SEHOP的模块
14.5 伪造S.E.H链表
第15章 重重保护下的堆
15.1 堆保护机制的原理
15.2 攻击堆中存储的变量
15.3 利用chunk重设大小攻击堆
15.4 利用Lookaside表进行堆溢出
第3篇 漏洞挖掘技术
第16章 漏洞挖掘技术简介
16.1 漏洞挖掘概述
16.2 动态测试技术