图书介绍

0day安全 软件漏洞分析技术2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

0day安全 软件漏洞分析技术
  • 王清主编 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121133961
  • 出版时间:2011
  • 标注页数:754页
  • 文件大小:326MB
  • 文件页数:780页
  • 主题词:计算机网络-安全技术

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

0day安全 软件漏洞分析技术PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1篇 漏洞利用原理(初级)2

第1章 基础知识2

1.1漏洞概述2

1.1.1 bug与漏洞2

1.1.2几个令人困惑的安全问题2

1.1.3漏洞挖掘、漏洞分析、漏洞利用3

1.1.4漏洞的公布与0 day响应5

1.2二进制文件概述5

1.2.1 PE文件格式5

1.2.2虚拟内存6

1.2.3 PE文件与虚拟内存之间的映射7

1.3必备工具11

1.3.1 OllyDbg简介11

1.3.2 SoftICE简介11

1.3.3 WinDbg简介16

1.3.4 IDA Pro简介18

1.3.5二进制编辑器20

1.3.6 VMwa简介21

1.3.7 Python编程环境28

1.4 Crack小实验29

第2章 栈溢出原理与实践38

2.1系统栈的工作原理38

2.1.1内存的不同用途38

2.1.2栈与系统栈39

2.1.3函数调用时发生了什么40

2.1.4寄存器与函数栈帧43

2.1.5函数调用约定与相关指令44

2.2修改邻接变量47

2.2.1修改邻接变量的原理47

2.2.2突破密码验证程序49

2.3修改函数返回地址53

2.3.1返回地址与程序流程53

2.3.2控制程序的执行流程57

2.4代码植入62

2.4.1代码植入的原理62

2.4.2向进程中植入代码62

第3章 开发shellcode的艺术71

3.1 shellcode概述71

3.1.1 shellcode与exploit71

3.1.2 shellcode需要解决的问题72

3.2定位shellcode73

3.2.1栈帧移位与Jmp esp73

3.2.2获取“跳板”的地址76

3.2.3使用“跳板”定位的exploit78

3.3缓冲区的组织81

3.3.1缓冲区的组成81

3.3.2抬高栈顶保护shellcode83

3.3.3使用其他跳转指令83

3.3.4不使用跳转指令84

3.3.5函数返回地址移位85

3.4开发通用的shellcode87

3.4.1定位API的原理87

3.4.2 shellcode的加载与调试88

3.4.3动态定位API地址的shellcode89

3.5 shellcode编码技术98

3.5.1为什么要对shellcode编码98

3.5.2会“变形”的shellcode99

3.6为shellcode“减肥”103

3.6.1 shellcode瘦身大法103

3.6.2选择恰当的hash算法105

3.6.3 191个字节的bindshell107

第4章用MetaSploit开发Exploit119

4.1漏洞测试平台MSF简介119

4.2入侵Windows系统121

4.2.1漏洞简介121

4.2.2图形界面的漏洞测试121

4.2.3 console界面的漏洞测试125

4.3利用MSF制作shellcode126

4.4用MSF扫描“跳板”128

4.5 Ruby语言简介129

4.6“傻瓜式”Exploit开发134

4.7用MSF发布POC140

第5章 堆溢出利用144

5.1堆的工作原理144

5.1.1 Windows堆的历史144

5.1.2堆与栈的区别145

5.1.3堆的数据结构与管理策略146

5.2在堆中漫游151

5.2.1堆分配函数之间的调用关系151

5.2.2堆的调试方法152

5.2.3识别堆表155

5.2.4堆块的分配158

5.2.5堆块的释放159

5.2.6堆块的合并159

5.2.7快表的使用161

5.3堆溢出利用(上)—DWORD SHOOT163

5.3.1链表“拆卸”中的问题163

5.3.2在调试中体会“DWORD SHOOT”165

5.4堆溢出利用(下)—代码植入169

5.4.1 DWORD SHOOT的利用方法169

5.4.2狙击P.E.B中RtlEnterCritical-Section()的函数指针170

5.4.3堆溢出利用的注意事项175

第6章 形形色色的内存攻击技术178

6.1狙击Windows异常处理机制178

6.1.1 S.E.H概述178

6.1.2在栈溢出中利用S.E.H180

6.1.3在堆溢出中利用S.E.H184

6.1.4深入挖掘Windows异常处理187

6.1.5其他异常处理机制的利用思路192

6.2 “off by one”的利用196

6.3攻击C++的虚函数198

6.4 Heap Spray:堆与栈的协同攻击201

第7章 手机里的缓冲区溢出204

7.1 Windows Mobile简介204

7.1.1 Windows Mobile前世今生204

7.1.2 Windows Mobile架构概述205

7.1.3 Windows Mobile的内存管理209

7.2 ARM简介212

7.2.1 ARM是什么212

7.2.2 ARM寄存器结构212

7.2.3 ARM汇编指令结构215

7.2.4 ARM指令寻址方式220

7.2.5 ARM的函数调用与返回222

7.3 Windows Mobile上的HelloWorld223

7.4远程调试工具简介227

7.4.1远程信息查看管理套件227

7.4.2手机上的调试—Microsoft Visual Studio231

7.4.3手机上的调试—IDA233

7.5手机上的exploit me237

第8章 其他类型的软件漏洞243

8.1格式化串漏洞243

8.1.1 printf中的缺陷243

8.1.2用printf读取内存数据244

8.1.3用printf向内存写数据245

8.1.4.格式化串漏洞的检测与防范246

8.2 SQL注入攻击247

8.2.1 SQL注入原理247

8.2.2攻击PHP+MySQL网站248

8.2.3攻击ASP+SQL Server网站250

8.2.4注入攻击的检测与防范252

8.3其他注入方式253

8.3.1 Cookie注入,绕过马其诺防线253

8.3.2 XPath注入,XML的阿喀琉斯之踵254

8.4 XSS攻击255

8.4.1脚本能够“跨站”的原因255

8.4.2 XSS Reflection攻击场景256

8.4.3 Stored XSS攻击场景258

8.4.4攻击案例回顾:XSS蠕虫258

8.4.5 XSS的检测与防范259

8.5路径回溯漏洞260

8.5.1路径回溯的基本原理260

8.5.2范式化与路径回溯261

第2篇 漏洞利用原理(高级)264

第9章Windows安全机制概述264

第10章 栈中的守护天使:GS267

10.1 GS安全编译选项的保护原理267

10.2利用未被保护的内存突破GS271

10.3覆盖虚函数突破GS273

10.4攻击异常处理突破GS276

10.5同时替换栈中和.data中的Cookie突破GS280

第11章 亡羊补牢:SafeSEH284

11.1 SafeSEH对异常处理的保护原理284

11.2攻击返回地址绕过SafeSEH288

11.3利用虚函数绕过SafeSEH288

11.4从堆中绕过SafeSEH288

11.5利用未启用SafeSEH模块绕过SafeSEH292

11.6利用加载模块之外的地址绕过SafeSEH299

11.7利用Adobe Flash Player ActiveX控件绕过SafeSEH305

第12章 数据与程序的分水岭:DEP313

12.1 DEP机制的保护原理313

12.2攻击未启用DEP的程序316

12.3利用Ret2Libc挑战DEP317

12.3.1 Ret2Libc实战之利用ZwSetInfonnationProcess318

12.3.2 Ret2Libc实战之利用Virtualpotect330

12.3.3 Ret2Libc实战之利用VirtuaLAlloc339

12.4利用可执行内存挑战DEP348

12.5利用.NET挑战DEP352

12.6利用Java applet挑战DEP359

第13章 在内存中躲猫猫:ASLR363

13.1内存随机化保护机制的原理363

13.2攻击未启用ASLR的模块367

13.3利用部分覆盖进行定位内存地址372

13.4利用Heap spray技术定位内存地址376

13.5利用Java applet heap spray技术定位内存地址379

13.6为.NET控件禁用ASLR382

第14章S.E.H终极防护:SEHOP386

14.1 SEHOP的原理386

14.2攻击返回地址388

14.3攻击虚函数388

14.4利用未启用SEHOP的模块388

14.5伪造S.E.H链表390

第15章 重重保护下的堆396

15.1堆保护机制的原理396

15.2攻击堆中存储的变量397

15.3利用chunk重设大小攻击堆398

15.4利用Lookaside表进行堆溢出407

第3篇 漏洞挖掘技术414

第16章 漏洞挖掘技术简介414

16.1漏洞挖掘概述414

16.2动态测试技术415

16.2.1 SPIKE简介415

16.2.2 beSTORM简介421

16.3静态代码审计429

第17章 文件类型漏洞挖掘与Smart Fuzz431

17.1 Smart Fuzz概述431

17.1.1文件格式Fuzz的基本方法431

17.1.2 Blind Fuzz和Smart Fuzz432

17.2用Peach挖掘文件漏洞433

17.2.1 Peach介绍及安装433

17.2.2 XML介绍434

17.2.3定义简单的Peach Pit436

17.2.4定义数据之间的依存关系440

17.2.5用Peach Fuzz PNG文件441

17.3 010脚本,复杂文件解析的瑞士军刀446

17.3.1 010 Editor简介446

17.3.2 010脚本编写入门447

17.3.3 010脚本编写提高—PNG文件解析449

17.3.4深入解析,深入挖掘—PPT文件解析452

第18章FTP的漏洞挖掘457

18.1 FTP协议简介457

18.2漏洞挖掘手记1: DOS457

18.3漏洞挖掘手记2:访问权限466

18.4漏洞挖掘手记3:缓冲区溢出468

18.5漏洞挖掘手记4: Fuzz DIY472

第19章E-mail的漏洞挖掘477

19.1挖掘SMTP漏洞477

19.1.1 SMTP协议简介477

19.1.2 SMTP漏洞挖掘手记478

19.2挖掘POP3漏洞480

19.2.1 POP3协议简介4480

19.2.2 POP3漏洞挖掘手记481

19.3挖掘IMAP4漏洞489

19.3.1 IMAP4协议简介489

19.3.2 IMAP4漏洞挖掘手记490

19.4其他E-mail漏洞491

19.4.1 URL中的路径回溯491

19.4.2内存中的路径回溯494

19.4.3邮件中的XSS500

第20章ActiveX控件的漏洞挖掘502

20.1 ActiveX控件简介502

20.1.1浏览器与ActiveX控件的关系502

20.1.2控件的属性503

20.2手工测试ActiveX控件504

20.2.1建立测试模板504

20.2.2获取控件的接口信息505

20.3用工具测试ActiveX控件:COMRaider509

20.4挖掘ActiveX漏洞516

20.4.1 ActiveX漏洞的分类516

20.4.2漏洞挖掘手记1:超星阅读器溢出517

20.4.3漏洞挖掘手记2:目录操作权限521

20.4.4漏洞挖掘手记3:文件读权限523

20.4.5漏洞挖掘手记3:文件删除权限525

第4篇 操作系统内核安全528

第21章 探索ring0528

21.1内核基础知识介绍528

21.1.1内核概述528

21.1.2驱动编写之Hello World528

21.1.3派遣例程与IRP结构533

21.1.4 Ring3打开驱动设备537

21.1.5 DeviceIoControl函数与IoControlCode538

21.1.6 Ring3/Ring0的四种通信方式539

21.2内核调试入门541

21.2.1创建内核调试环境541

21.2.2蓝屏分析549

21.3内核漏洞概述551

21.3.1内核漏洞的分类551

21.3.2内核漏洞的研究过程553

21.4编写安全的驱动程序555

21.4.1输入输出检查555

21.4.2验证驱动的调用者556

21.4.3白名单机制的挑战556

第22章 内核漏洞利用技术557

22.1利用实验之exploitme.sys557

22.2内核漏洞利用思路559

22.3内核漏洞利用方法560

22.4内核漏洞利用实战与编程565

22.5 Ring0 Shellcode的编写570

第23章FUZZ驱动程序579

23.1内核FUZZ思路579

23.2内核FUZZ工具介绍581

23.3内核FUZZ工具DIY583

23.3.1 Fuzz对象、Fuzz策略、Fuzz项583

23.3.2 IoControl MITM Fuzz583

23.3.3 IoControl Driver Fuzz585

23.3.4 MyIoControl Fuzzer界面586

23.4内核漏洞挖掘实战588

23.4.1超级巡警ASTDriver.sys本地提权漏洞588

23.4.2东方微点mp110013.sys本地提权漏洞594

23.4.3瑞星HookCont.sys驱动本地拒绝服务漏洞601

第24章 内核漏洞案例分析605

24.1远程拒绝服务内核漏洞605

24.2本地拒绝服务内核漏洞611

24.3缓冲区溢出内核漏洞614

24.4任意地址写任意数据内核漏洞619

24.5任意地址写固定数据内核漏洞622

第5篇 漏洞分析案例628

第25章 漏洞分析技术概述628

25.1漏洞分析的方法628

25.2运动中寻求突破:调试技术629

25.2.1断点技巧630

25.2.2回溯思路644

25.3用“白眉”在PE中漫步647

25.3.1指令追踪技术与Paimei647

25.3.2 Paimei的安装648

25.3.3使用PE Stalker649

25.3.4迅速定位特定功能对应的代码652

25.4补丁比较654

第26章RPC入侵:M S06-040与MS08-067658

26.1 RPC漏洞658

26.1.1 RPC漏洞简介658

26.1.2 RPC编程简介658

26.2 MS06-040659

26.2.1 MS06-040简介659

26.2.2动态调试660

26.2.3静态分析667

26.2.4实现远程exploit670

26.3 Windows XP环境下的MS06-040 exploit677

26.3.1静态分析677

26.3.2蠕虫样本的exploit方法682

26.3.3实践跨平台exploit684

26.4 MS08-067690

26.4.1 MS08-067简介690

26.4.2认识Legacy Folder693

26.4.3“移经”测试694

26.4.4“移经”风险694

26.4.5 POC的构造696

26.5魔波、Conficker与蠕虫病毒703

第27章MS06-055分析:实战Heap Spray705

27.1 MS06-055简介705

27.1.1矢量标记语言(VML)简介705

27.1.2 0 day安全响应纪实706

27.2漏洞分析707

27.3漏洞利用710

第28章MS09-032分析:一个“&”引发的血案713

28.1 MS09-032简介713

28.2漏洞原理及利用分析713

第29章Yahoo!Messenger栈溢出漏洞719

29.1漏洞介绍719

29.2漏洞分析719

29.3漏洞利用724

第30章CVE-2009-0927: PDF中的JS726

30.1 CVE-2009-0927简介726

30.2 PDF文档格式简介726

30.3漏洞原理及利用分析728

第31章 坝之蚁穴:超长URL溢出漏洞732

31.1漏洞简介732

31.2漏洞原理及利用分析732

第32章 暴风影音M3U文件解析漏洞738

32.1漏洞简介738

32.2 M3U文件简介738

32.3漏洞原理及利用分析739

第33章LNK快捷方式文件漏洞745

33.1漏洞简介745

33.2漏洞原理及利用分析745

附录A已公布的内核程序漏洞列表750

参考文献753

热门推荐