网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 安全与加密 > 商品详情

0day安全:软件漏洞分析技术(第2版)

分享到:
0day安全:软件漏洞分析技术(第2版)

最 低 价:¥58.65

定 价:¥85.00

作 者:王清

出 版 社:电子工业出版社

出版时间:2011 年6月

I S B N:9787121133961

商品详情

编辑推荐

系统、全面地介绍了windows平台缓冲区溢出漏洞的分析、检测与防护
  带领您一步一步地完成调试的每一步,并在这个过程中逐步解释漏洞分析思路。
  可作为网络安全从业人员、黑客技术发烧友的参考指南

内容简介

《0day安全:软件漏洞分析技术(第2版)》分为5篇33章,系统、全面地介绍了windows平台缓冲区溢出漏洞的分析、检测与防护。第一篇为漏洞exploit的基础理论和初级技术,可以引领读者迅速入门;第二篇在第一篇的基础上,结合国内外相关研究者的前沿成果,对漏洞技术从攻、防两个方面进行总结;第三篇站在安全测试者的角度,讨论了几类常用软件的漏洞挖掘方法与思路;第四篇则填补了本类书籍在windows内核安全及相关攻防知识这个神秘领域的技术空白;第五篇以大量的0 day案例分析,来帮助读者理解前四篇的各类思想方法。
  《0day安全:软件漏洞分析技术(第2版)》可作为网络安全从业人员、黑客技术发烧友的参考指南,也可作为网络安全专业的研究生或本科生的指导用书。

作者简介

目录

《0day安全:软件漏洞分析技术(第2版)》
第1篇 漏洞利用原理(初级)
第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 vmware简介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篇 漏洞利用原理(高级)
第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实战之利用zwsetinformationprocess318
12.3.2 ret2libc实战之利用virtualprotect330
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篇 漏洞挖掘技术
第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协议简介480
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篇 操作系统内核安全
第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篇 漏洞分析案例
第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入侵:ms06-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 “移经”风险695
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 漏洞利用723
第30章 cve-2009-0927:pdf中的js725
30.1 cve-2009-0927简介725
30.2 pdf文档格式简介725
30.3 漏洞原理及利用分析727
第31章 坝之蚁穴:超长url溢出漏洞731
31.1 漏洞简介731
31.3 漏洞原理及利用分析731
第32章 暴风影音m3u文件解析漏洞737
32.1 漏洞简介737
32.2 m3u文件简介737
32.3 漏洞原理及利用分析738
第33章 lnk快捷方式文件漏洞744
33.1 漏洞简介744
33.2 漏洞原理及利用分析744
附录a 已公布的内核程序漏洞列表750
参考文献753

商品评论(0条)

暂无评论!

您的浏览历史

loading 内容加载中,请稍后...