操作系统是连接计算机硬件与上层软件及用户的桥梁。其安全性至关重要。知己知彼,方能百战不殆,用户只有了解了系统中存在的可被利用的漏洞和攻击者所采用的攻击方法,才能更有效地确保系统安全。
本书由4位世界顶级安全技术大师联袂打造。全面介绍了操作系统的安全问题。从最基本的栈、堆、内存布局等方面着手,逐渐深入到操作系统的各个层面,重点阐述如何发现和防范系统的安全漏洞。全书内容均来自作者一线实战经验总结,强调动手实践和探索的重要性,自始至终体现了钻研无止境的黑客精神。
本书由世界顶级安全专家亲自执笔,详细阐述了系统安全、应用程序安全、软件破解、加密解密等安全领域的核心问题,并用大量的实例说明如何检查Windows、Linux、Solaris等流行操作系统中的安全漏洞和Oracle等数据库中的安全隐患。
本书适用于所有计算机安全领域的技术人员和管理人员以及对计算机安全感兴趣的爱好者。
第一部分 破解入门:x86上的Linux
第1章 写在前面
1.1 基本概念
1.1.1 内存管理
1.1.2 汇编语言
1.2 识别汇编指令里的C和C++代码
1.3 小结
第2章 栈溢出
2.1 缓冲区
2.2 栈
2.3 栈上的缓冲区溢出
2.4 有趣的转换
2.5 利用漏洞获得根特权
2.5.1 地址问题
2.5.2 NOP法
2.6 战胜不可执行栈
2.7 小结
第3章 shellcode
3.1 理解系统调用
3.2 为exit()系统调用写shellcode
3.3 可注入的shellcode
3.4 派生shell
3.5 小结
第4章 格式化串漏洞
4.1 储备知识
4.2 什么是格式化串
4.3 什么是格式化串漏洞
4.4 利用格式化串漏洞
4.4.1 使服务崩溃
4.4.2 信息泄露
4.5 控制程序执行
4.6 为什么会这样
4.7 格式化串技术概述
4.8 小结
第5章 堆溢出
5.1 堆是什么
5.2 发现堆溢出
5.2.1 基本堆溢出
5.2.2 中级堆溢出
5.2.3 高级堆溢出
5.3 小结
第二部分 其他平台:Windows、Solaris、OS X和Cisco
第6章 Windows操作系统
6.1 Windows和Linux有何不同
……
第7章 Windows shellcode
第8章 Windows溢出
第9章 战胜过滤器
第10章 Solaris破解入门
第11章 高级Solaris破解
第12章 OS X shellcode
第13章 思科IOS破解技术
第14章 保护机制
第三部分 漏洞发现
第15章 建立工作环境
第16章 故障注入
第17章 模糊测试的艺术
第18章 源码审计:在基于C的语言里寻找漏洞
第19章 手工的方法
第20章 跟踪漏洞
第21章 二进制审计:剖析不公开源码的软件
第四部分 高级内容
第22章 其他载荷策略
第23章 编写在实际环境中运行的代码
第24章 攻击数据库软件
第25章 UNIX内核溢出
第26章 破解UNIX内核漏洞
第27章 破解Windows内核