0day安全:软件漏洞分析技术

0day安全:软件漏洞分析技术
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2008-04
版次: 1
ISBN: 9787121060779
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 358页
字数: 410千字
正文语种: 简体中文
173人买过
  •   分为4篇17章,系统全面地介绍了Windows平台缓冲区溢出漏洞的分析、检测与防护。第一篇为常用工具和基础知识的介绍;第二篇从攻击者的视角出发,揭秘了攻击者利用漏洞的常用伎俩,了解这些知识对进行计算机应急响应和提高软件产品安全性至关重要;第三篇在第二篇的基础上,从安全专家的角度介绍了漏洞分析和计算机应急响应方面的知识;第四篇则站在软件工程师的角度讲述如何在开发、测试等软件生命周期的各个环节中加入安全因素,以增强软件产品的安全性。   王清,网络ID:failwest,于西安交通大学先后获得计算机科学与技术学士学位、系统工程专业硕士学位。曾工作于教育部下一代互联网与网络安全重点实验室,研究兴趣涉及蠕虫建模、高级IDS算法、网站安全、代码审计、漏洞分析、病毒分析、逆向工程等领域。现就职于Symantec产品安全部,从事软件攻击测试,系统安全性审计,安全咨询等工作。 第1篇 基础知识
    第1章 漏洞概述
    1.1 bug与漏洞
    1.2 几个令人困惑的安全问题
    1.3 漏洞挖掘、漏洞分析、漏洞利用
    1.4 漏洞的公布与0day响应
    第2章 二进制文件概述
    2.1 PE文件格式
    2.2 虚拟内存
    2.3 PE文件与虚拟内存之间的映射
    第3章 必备工具
    3.1 OllyDbg简介
    3.2 SoftICE简介
    3.3 WinDbg简介
    3.4 IDAPro简介
    3.5 二进制编辑器
    3.6 虚拟机简介
    3.7 Crack二进制文件
    第2篇 漏洞利用
    第4章 栈溢出利用
    4.1 系统栈的工作原理
    4.1.1 内存的不同用途
    4.1.2 栈与系统栈
    4.1.3 函数调用时发生了什么
    4.1.4 寄存器与函数栈帧
    4.1.5 函数调用约定与相关指令
    4.2 修改邻接变量
    4.2.1 修改邻接变量的原理
    4.2.2 突破密码验证程序
    4.3 修改函数返回地址
    4.3.1 返回地址与程序流程
    4.3.2 控制程序的执行流程
    4.4 代码植入
    4.4.1 代码植入的原理
    4.4.2 向进程中植入代码
    第5章 开发shellcode的艺术
    5.1 shellcode概述
    5.1.1 shellcode与exploit
    5.1.2 shellcode需要解决的问题
    5.2 定位shellcode
    5.2.1 栈帧移位与jmpesp
    5.2.2 获取“跳板”的地址
    5.2.3 使用“跳板”定位的exploit
    5.3 缓冲区的组织
    5.3.1 缓冲区的组成
    5.3.2 抬高栈顶保护shellcode
    5.3.3 使用其他跳转指令
    5.3.4 不使用跳转指令
    5.3.5 函数返回地址移位
    5.4 开发通用的shellcode
    5.4.1 定位API的原理
    5.4.2 shellcode的加载与调试
    5.4.3 动态定位API地址的shellcode
    5.5 shellcode编码技术
    5.5.1 为什么要对shellcode编码
    5.5.2 会“变形”的shellcode
    5.6 为shellcode“减肥”
    5.6.1 shellcode瘦身大法
    5.6.2 选择恰当的hash算法
    5.6.3 191个字节的bindshell
    第6章 堆溢出利用
    6.1 堆的工作原理
    6.1.1 Windows堆的历史
    6.1.2 堆与栈的区别
    6.1.3 堆的数据结构与管理策略
    6.2 在堆中漫游
    6.2.1 堆分配函数之间的调用关系
    6.2.2 堆的调试方法
    6.2.3 识别堆表
    6.2.4 堆块的分配
    6.2.5 堆块的释放
    6.2.6 堆块的合并
    6.3 堆溢出利用(上)——DWORDSHOOT
    6.3.1 链表“拆卸”中的问题
    6.3.2 在调试中体会“DWORDSHOOT”
    6.4 堆溢出利用(下)——代码植入
    6.4.1 DWORDSHOOT的利用方法
    6.4.2 狙击P.E.B中RtlEnterCritical-Section()的函数指针
    6.4.3 堆溢出利用的注意事项
    第7章 Windows异常处理机制深入浅出
    7.1 S.E.H概述
    7.2 在栈溢出中利用S.E.H
    7.3 在堆溢出中利用S.E.H
    7.4 挖掘Windows异常处理
    7.4.1 不同级别的S.E.H
    7.4.2 线程的异常处理
    7.4.3 进程的异常处理
    7.4.4 系统默认的异常处理U.E.F
    7.4.5 异常处理流程的总结
    7.5 V.E.H简介
    第8章 高级内存攻击技术
    8.1 狙击异常处理机制
    8.1.1 攻击V.E.H链表的头节点
    8.1.2 攻击TEB中的S.E.H头节点
    8.1.3 攻击U.E.F
    8.1.4 攻击PEB中的函数指针
    8.2 “offbyone”的利用
    8.3 攻击C++的虚函数
    8.4 HeapSpray:堆与栈的协同攻击
    第9章 揭秘Windows安全机制
    9.1 ServicePack2简介
    9.2 百密一疏的S.E.H验证
    9.3 栈中的较量
    9.3.1 .net中的GS安全编译选项
    9.3.2 GS机制面临的挑战
    9.4 重重保护下的堆
    9.5 硬件方面的安全措施
    第10章 用MetaSploit开发Exploit
    10.1 漏洞测试平台MSF简介
    10.2 入侵Windows系统
    10.2.1 漏洞简介
    10.2.2 图形界面的漏洞测试
    10.2.3 console界面的漏洞测试
    10.3 利用MSF制作shellcode
    10.4 用MSF扫描“跳板”
    10.5 Ruby语言简介
    10.6 “傻瓜式”Exploit开发
    10.7 用MSF发布POC
    第11章 其他漏洞利用技术
    11.1 格式化串漏洞
    11.1.1 printf中的缺陷
    11.1.2 用printf读取内存数据
    11.1.3 用printf向内存写数据
    11.1.4 格式化串漏洞的检测与防范
    11.2 SQL注入攻击
    11.2.1 SQL注入原理
    11.2.2 攻击PHP+MySQL网站
    11.2.3 攻击ASP+SQLServer网站
    11.2.4 注入攻击的检测与防范
    11.3 XSS攻击
    11.3.1 脚本能够“跨站”的原因
    11.3.2 XSSReflection攻击场景
    11.3.3 StoredXSS攻击场景
    11.3.4 攻击案例回顾:XSS蠕虫
    11.3.5 XSS的检测与防范
    第3篇 漏洞分析
    第12章 漏洞分析技术概述
    12.1 漏洞分析的方法
    12.2 用“白眉”在PE中漫步
    12.2.1 指令追踪技术与Paimei
    12.2.2 Paimei的安装
    12.2.3 使用PEStalker
    12.2.4 迅速定位特定功能对应的代码
    12.3 补丁比较
    第13章 MS06-040分析:系统入侵与蠕虫
    13.1 MS06-040简介
    13.2 漏洞分析
    13.2.1 动态调试
    13.2.2 静态分析
    13.3 远程Exploit
    13.3.1 RPC编程简介
    13.3.2 实现远程exploit
    13.3.3 改进exploit
    13.3.4 MS06-040与蠕虫
    第14章 MS06-055分析:揭秘“网马”
    14.1 MS06-055简介
    14.1.1 矢量标记语言(VML)简介
    14.1.2 Oday安全响应纪实
    14.2 漏洞分析
    14.3 漏洞利用
    14.3.1 实践HeapSpray技术
    14.3.2 网页木马攻击
    第15章 MS07-060分析:Word文档中的阴谋
    15.1 MS07-060简介
    15.2 POC分析
    第4篇 漏洞挖掘与软件安全性测试
    第16章 漏洞挖掘技术浅谈
    16.1 漏洞挖掘概述
    16.2 Fuzz文件格式
    16.2.1 FileFuzz简介
    16.2.2 用Paimei实践FileFuzz
    16.3 Fuzz网络协议
    16.3.1 协议测试简介
    16.3.2 SPIKE的Fuzz原理
    16.3.3 SPIKE的HelloWorld
      16.3.4 定义Block
     16.3.5 生成Fuzz用例
    16.4 FuzzActiveX
    16.5 静态代码审计
    第17章 安全的软件生命周期
    17.1 ThreatModeling
    17.2 编写安全的代码
    17.3 产品安全性测试
    17.4 漏洞管理与应急响应
    参考文献
  • 内容简介:
      分为4篇17章,系统全面地介绍了Windows平台缓冲区溢出漏洞的分析、检测与防护。第一篇为常用工具和基础知识的介绍;第二篇从攻击者的视角出发,揭秘了攻击者利用漏洞的常用伎俩,了解这些知识对进行计算机应急响应和提高软件产品安全性至关重要;第三篇在第二篇的基础上,从安全专家的角度介绍了漏洞分析和计算机应急响应方面的知识;第四篇则站在软件工程师的角度讲述如何在开发、测试等软件生命周期的各个环节中加入安全因素,以增强软件产品的安全性。
  • 作者简介:
      王清,网络ID:failwest,于西安交通大学先后获得计算机科学与技术学士学位、系统工程专业硕士学位。曾工作于教育部下一代互联网与网络安全重点实验室,研究兴趣涉及蠕虫建模、高级IDS算法、网站安全、代码审计、漏洞分析、病毒分析、逆向工程等领域。现就职于Symantec产品安全部,从事软件攻击测试,系统安全性审计,安全咨询等工作。
  • 目录:
    第1篇 基础知识
    第1章 漏洞概述
    1.1 bug与漏洞
    1.2 几个令人困惑的安全问题
    1.3 漏洞挖掘、漏洞分析、漏洞利用
    1.4 漏洞的公布与0day响应
    第2章 二进制文件概述
    2.1 PE文件格式
    2.2 虚拟内存
    2.3 PE文件与虚拟内存之间的映射
    第3章 必备工具
    3.1 OllyDbg简介
    3.2 SoftICE简介
    3.3 WinDbg简介
    3.4 IDAPro简介
    3.5 二进制编辑器
    3.6 虚拟机简介
    3.7 Crack二进制文件
    第2篇 漏洞利用
    第4章 栈溢出利用
    4.1 系统栈的工作原理
    4.1.1 内存的不同用途
    4.1.2 栈与系统栈
    4.1.3 函数调用时发生了什么
    4.1.4 寄存器与函数栈帧
    4.1.5 函数调用约定与相关指令
    4.2 修改邻接变量
    4.2.1 修改邻接变量的原理
    4.2.2 突破密码验证程序
    4.3 修改函数返回地址
    4.3.1 返回地址与程序流程
    4.3.2 控制程序的执行流程
    4.4 代码植入
    4.4.1 代码植入的原理
    4.4.2 向进程中植入代码
    第5章 开发shellcode的艺术
    5.1 shellcode概述
    5.1.1 shellcode与exploit
    5.1.2 shellcode需要解决的问题
    5.2 定位shellcode
    5.2.1 栈帧移位与jmpesp
    5.2.2 获取“跳板”的地址
    5.2.3 使用“跳板”定位的exploit
    5.3 缓冲区的组织
    5.3.1 缓冲区的组成
    5.3.2 抬高栈顶保护shellcode
    5.3.3 使用其他跳转指令
    5.3.4 不使用跳转指令
    5.3.5 函数返回地址移位
    5.4 开发通用的shellcode
    5.4.1 定位API的原理
    5.4.2 shellcode的加载与调试
    5.4.3 动态定位API地址的shellcode
    5.5 shellcode编码技术
    5.5.1 为什么要对shellcode编码
    5.5.2 会“变形”的shellcode
    5.6 为shellcode“减肥”
    5.6.1 shellcode瘦身大法
    5.6.2 选择恰当的hash算法
    5.6.3 191个字节的bindshell
    第6章 堆溢出利用
    6.1 堆的工作原理
    6.1.1 Windows堆的历史
    6.1.2 堆与栈的区别
    6.1.3 堆的数据结构与管理策略
    6.2 在堆中漫游
    6.2.1 堆分配函数之间的调用关系
    6.2.2 堆的调试方法
    6.2.3 识别堆表
    6.2.4 堆块的分配
    6.2.5 堆块的释放
    6.2.6 堆块的合并
    6.3 堆溢出利用(上)——DWORDSHOOT
    6.3.1 链表“拆卸”中的问题
    6.3.2 在调试中体会“DWORDSHOOT”
    6.4 堆溢出利用(下)——代码植入
    6.4.1 DWORDSHOOT的利用方法
    6.4.2 狙击P.E.B中RtlEnterCritical-Section()的函数指针
    6.4.3 堆溢出利用的注意事项
    第7章 Windows异常处理机制深入浅出
    7.1 S.E.H概述
    7.2 在栈溢出中利用S.E.H
    7.3 在堆溢出中利用S.E.H
    7.4 挖掘Windows异常处理
    7.4.1 不同级别的S.E.H
    7.4.2 线程的异常处理
    7.4.3 进程的异常处理
    7.4.4 系统默认的异常处理U.E.F
    7.4.5 异常处理流程的总结
    7.5 V.E.H简介
    第8章 高级内存攻击技术
    8.1 狙击异常处理机制
    8.1.1 攻击V.E.H链表的头节点
    8.1.2 攻击TEB中的S.E.H头节点
    8.1.3 攻击U.E.F
    8.1.4 攻击PEB中的函数指针
    8.2 “offbyone”的利用
    8.3 攻击C++的虚函数
    8.4 HeapSpray:堆与栈的协同攻击
    第9章 揭秘Windows安全机制
    9.1 ServicePack2简介
    9.2 百密一疏的S.E.H验证
    9.3 栈中的较量
    9.3.1 .net中的GS安全编译选项
    9.3.2 GS机制面临的挑战
    9.4 重重保护下的堆
    9.5 硬件方面的安全措施
    第10章 用MetaSploit开发Exploit
    10.1 漏洞测试平台MSF简介
    10.2 入侵Windows系统
    10.2.1 漏洞简介
    10.2.2 图形界面的漏洞测试
    10.2.3 console界面的漏洞测试
    10.3 利用MSF制作shellcode
    10.4 用MSF扫描“跳板”
    10.5 Ruby语言简介
    10.6 “傻瓜式”Exploit开发
    10.7 用MSF发布POC
    第11章 其他漏洞利用技术
    11.1 格式化串漏洞
    11.1.1 printf中的缺陷
    11.1.2 用printf读取内存数据
    11.1.3 用printf向内存写数据
    11.1.4 格式化串漏洞的检测与防范
    11.2 SQL注入攻击
    11.2.1 SQL注入原理
    11.2.2 攻击PHP+MySQL网站
    11.2.3 攻击ASP+SQLServer网站
    11.2.4 注入攻击的检测与防范
    11.3 XSS攻击
    11.3.1 脚本能够“跨站”的原因
    11.3.2 XSSReflection攻击场景
    11.3.3 StoredXSS攻击场景
    11.3.4 攻击案例回顾:XSS蠕虫
    11.3.5 XSS的检测与防范
    第3篇 漏洞分析
    第12章 漏洞分析技术概述
    12.1 漏洞分析的方法
    12.2 用“白眉”在PE中漫步
    12.2.1 指令追踪技术与Paimei
    12.2.2 Paimei的安装
    12.2.3 使用PEStalker
    12.2.4 迅速定位特定功能对应的代码
    12.3 补丁比较
    第13章 MS06-040分析:系统入侵与蠕虫
    13.1 MS06-040简介
    13.2 漏洞分析
    13.2.1 动态调试
    13.2.2 静态分析
    13.3 远程Exploit
    13.3.1 RPC编程简介
    13.3.2 实现远程exploit
    13.3.3 改进exploit
    13.3.4 MS06-040与蠕虫
    第14章 MS06-055分析:揭秘“网马”
    14.1 MS06-055简介
    14.1.1 矢量标记语言(VML)简介
    14.1.2 Oday安全响应纪实
    14.2 漏洞分析
    14.3 漏洞利用
    14.3.1 实践HeapSpray技术
    14.3.2 网页木马攻击
    第15章 MS07-060分析:Word文档中的阴谋
    15.1 MS07-060简介
    15.2 POC分析
    第4篇 漏洞挖掘与软件安全性测试
    第16章 漏洞挖掘技术浅谈
    16.1 漏洞挖掘概述
    16.2 Fuzz文件格式
    16.2.1 FileFuzz简介
    16.2.2 用Paimei实践FileFuzz
    16.3 Fuzz网络协议
    16.3.1 协议测试简介
    16.3.2 SPIKE的Fuzz原理
    16.3.3 SPIKE的HelloWorld
      16.3.4 定义Block
     16.3.5 生成Fuzz用例
    16.4 FuzzActiveX
    16.5 静态代码审计
    第17章 安全的软件生命周期
    17.1 ThreatModeling
    17.2 编写安全的代码
    17.3 产品安全性测试
    17.4 漏洞管理与应急响应
    参考文献
查看详情
相关图书 / 更多
0day安全:软件漏洞分析技术
0day安全 (第2版):软件漏洞分析技术
周东辉 著;王清 编