《捉虫日记》由克莱恩所著,《捉虫日记》从实践角度介绍安全漏洞,描述了作者在过去几年里怎样发现漏洞、怎样利用漏洞来攻击以及开发商如何修复,旨在为开发人员提醒,为漏洞研究领域的工作人员提供工作思路。
目 录
第1章 捉虫 1
1.1 兴趣还是利益 2
1.2 通用技巧 2
1.2.1 个人技术偏好 2
1.2.2 代码中潜在的漏洞 3
1.2.3 模糊测试 3
1.2.4 延伸阅读 3
1.3 内存错误 4
1.4 专用工具 4
1.4.1 调试器 4
1.4.2 反汇编工具 5
1.5 EIP = 41414141 5
1.6 结束语 6
第2章 回到90年代 7
2.1 发现漏洞 8
2.1.1 第一步:生成VLC中解复用器的清单 8
2.1.2 第二步:识别输入数据 8
2.1.3 第三步:跟踪输入数据 9
2.2 漏洞利用 11
2.2.1 第一步:找一个TiVo格式的样例电影文件 11
2.2.2 第二步:找一条代码路径执行到漏洞代码 11
2.2.3 第三步:修改这个TiVo电影文件,使VLC崩溃 14
2.2.4 第四步:修改这个TiVo电影文件,控制EIP 15
2.3 漏洞修正 16
2.4 经验和教训 20
2.5 补充 21
第3章 突破区域限制 24
3.1 发现漏洞 24
3.1.1 第一步:列出内核的IOCTL 25
3.1.2 第二步:识别输入数据 26
3.1.3 第三步:跟踪输入数据 27
3.2 漏洞利用 34
3.2.1 第一步:触发这个空指针解引用,实现拒绝服务 34
3.2.2 第二步:利用零页内存控制EIP/RIP 38
3.3 漏洞修正 47
3.4 经验和教训 48
3.5 补充 48
第4章 空指针万岁 50
4.1 发现漏洞 50
4.1.1 第一步:列出FFmpeg的解复用器 51
4.1.2 第二步:识别输入数据 51
4.1.3 第三步:跟踪输入数据 52
4.2 漏洞利用 55
4.2.1 第一步:找一个带有有效strk块的4X样例电影文件 55
4.2.2 第二步:了解这个strk块的布局 55
4.2.3 第三步:修改这个strk块以使 FFmpeg崩溃 57
4.2.4 第四步:修改这个strk块以控制EIP 60
4.3 漏洞修正 65
4.4 经验和教训 68
4.5 补充 68
第5章 浏览即遭劫持 70
5.1 探寻漏洞 70
5.1.1 第一步:列出WebEx注册的对象和导出方法 71
5.1.2 第二步:在浏览器中测试导出方法 73
5.1.3 第三步:找到二进制文件中的对象方法 74
5.1.4 第四步:找到用户控制的输入数值 76
5.1.5 第五步:逆向工程这个对象方法 78
5.2 漏洞利用 81
5.3 漏洞修正 83
5.4 经验和教训 83
5.5 补充 83
第6章 一个内核统治一切 85
6.1 发现漏洞 85
6.1.1 第一步:为内核调试准备一个VMware客户机 86
6.1.2 第二步:生成一个avast!创建的驱动和设备对象列表 86
6.1.3 第三步:检查设备的安全设置 87
6.1.4 第四步:列出IOCTL 89
6.1.5 第五步:找出用户控制的输入数据 94
6.1.6 第六步:逆向工程IOCTL处理程序 97
6.2 漏洞利用 101
6.3 漏洞修正 107
6.4 经验和教训 107
6.5 补充 108
第7章 比4.4BSD还老的BUG 110
7.1 发现漏洞 110
7.1.1 第一步:列出内核的IOCTL 111
7.1.2 第二步:识别输入数据 111
7.1.3 第三步:跟踪输入数据 113
7.2 漏洞利用 116
7.2.1 第一步:触发这个bug使系统崩溃(拒绝服务) 116
7.2.2 第二步:准备一个内核调试的环境 118
7.2.3 第三步:连接调试器和目标系统 118
7.2.4 第四步:控制EIP 120
7.3 漏洞修正 125
7.4 经验和教训 126
7.5 补充 126
第8章 铃音大屠杀 129
8.1 发现漏洞 129
8.1.1 第一步:研究iPhone的音频性能 130
8.1.2 第二步:创建一个简单的模糊测试程序对这个手机进行模糊
测试 130
8.2 崩溃分析及利用 136
8.3 漏洞修正 142
8.4 经验和教训 143
8.5 补充 143
附录A 捉虫提示 145
附录B 调试 158
附录C 缓解技术 170
MATLAB R2016a神经网络设计与应用28个案例分析 本书特色 本书以MATLAB R2016a为平台编写。全书共分28个案例,主要介绍神经网络工具箱函数...
《其心无住》内容简介:《其心无住》是《降伏其心》与《善用其心》的续集,也是我出关十年,开山创建东华寺的心得感悟和修学佛法二
Adobe Illustrator CS5中文版经典教程 本书特色 adobe公司推出的权威经典教程畅销全球17年的著名品牌图书在全世界以27种语言火爆发行Ad...
《Java并发编程实战》内容简介:本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的
《软件之美》内容简介:行走在红尘里,每个人都会遇见暴风骤雨和诗情画意。“忧者见之而忧,喜者见之而喜”。一路上,我们会听见花
《Minecraft我的世界》内容简介:越玩越聪明! Minecraft我的世界是一款高自由度的沙盒建造游戏,玩家可以在游戏中的三维空间里创造
《学术与时势:民国的边疆研究》内容简介:该书系统梳理了近代中国边疆研究的发展演变历程,探讨各时期边疆研究内容、方法的不同特
《机遇就在你身边》内容简介:谁都渴望成功,但成功的前提之一是要有机遇,更多的人一生都是在被动地等待机遇,只能听天由命。而那
Java开发典型模块大全(含光盘)【软件工程师典藏】 本书特色 《Java开发典型模块大全》中所有模块的源代码,279分钟多媒体语音视频教学录像。《Java开发...
《ROS机器人项目开发11例(原书第2版)》内容简介:本书涵盖新的ROS发行版中的项目——ROS Melodic Morenia with Ubuntu Bio...
《世界现役制导武器全解析(上篇)》内容简介:导弹是一种携带战斗部、依靠自身动力装置推进、由制导系统导引控制飞行航迹的飞行器
《中国企业对外直接投资分析报告(2017)》内容简介:本报告分为总论篇、实务篇与关注篇三部分。总论篇在描述全球国际直接投资基础
本书是《俄罗斯航空发动机制造史》丛书的下册,涵盖了以M.B.伏龙芝命名的第24号工厂——库兹涅佐夫开放式股份公司的创立和发展历
《光线跟踪算法技术》详细阐述了与光线跟踪问题相关的高效解决方案及相应的数据结构和算法,主要包括采样技术、投影视图、视见系
Composedofthreesections,thisbookpresentsthemostpopulartrainingalgorithmforneural...
ThisisthesecondeditionofJohnZellesPythonProgramming,updatedforPython3.Thisbookis...
《狂人日记(赵延年插图本)》内容简介:本书是一部鲁迅小说选集,收录鲁迅代表性小说十六篇,出自《呐喊》和《彷徨》两部小说集,
《JavaWeb编程从入门到实践》内容简介:JavaWeb开发是目前最流行的网络开发技术之一。《JavaWeb编程从入门到实践》由浅入深,结合
《有一种旋律叫梁祝》内容简介:本书以《梁祝的继承者们》完整剧本为主体,该剧是“生活三部曲”的第一部,即“艺术家”,也是非常
《张爱玲:孤独中的蔷薇》内容简介:张爱玲的一生充满着传奇色彩,很多人沉浸在她笔下的故事中无法自拔,却经常忽略了一个真实的张