网络攻防技术与实战——软件漏洞挖掘与利用

网络攻防技术与实战——软件漏洞挖掘与利用"

作者:孙夫雄
ISBN:9787302617273
定价:¥69
字数:千字
页数:
出版时间:2023.01.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书是基于Windows和Linux操作系统平台编写的软件漏洞分析和利用的项目教程。本书共12章,包括可执行文件格式解析、逆向工程及其工具、加壳与脱壳、缓冲区溢出、漏洞挖掘和利用、异常处理机制及其Exploit、GS保护及其Exploit、ASLR和DEP保护及其Exploit、返回导向编程、Linux Exploit、Egg Hunting技术和堆喷射技术等。

本书内容丰富,特色鲜明,实用操作性强,可作为信息安全专业、计算机及其相关专业本科生的信息安全实践教材,也可以作为计算机用户的参考书和培训教材。

前言

本书系统地讲解了软件漏洞分析与利用所需的各类工具、理论技术和实战方法,主要涉及Windows和Linux操作系统平台,选择经典漏洞作为实践项目,项目内容由浅入深、由易到难,比较容易操作和实现,旨在通过实践提高读者对软件漏洞的分析和利用能力及针对各种破解手段的防范能力。全书内容分为12章,每章中的实践项目包括项目目的、项目环境及工具、知识要点、项目实现和步骤及思考题等部分。

第1章介绍可执行文件ELF和PE的格式及其相关术语,并完成可执行文件注入和感染的任务操作。

第2章介绍逆向工程的概念和原理,以及目前常用的逆向工具,利用工具完成对软件的篡改、破解、漏洞分析等任务操作。

第3章介绍加壳与脱壳的概念、工作原理和工具,完成利用工具或手工加壳与脱壳等任务操作。

第4章介绍缓冲区溢出的概念和原理,通过实践理解缓冲区溢出的工作机理,并完成Windows和Linux操作系统代码的缓冲区溢出任务操作。

第5章介绍软件漏洞的概念和类型,通过对2个经典软件的漏洞进行挖掘、分析和利用的项目,加深读者对软件漏洞的理解。

第6章介绍结构化异常处理(structured exception handling,SEH)机制和利用SEH实现缓冲区溢出的攻击方法,以及Unicode漏洞的挖掘与利用方法。

第7章分析软件保护中安全检查机制(GS)的工作原理,并介绍绕过这一保护的相关技术,实践验证几种绕过GS保护的方法。

第8章介绍软件保护中的地址空间配置随机化(address space layout randomization,ASLR)和数据执行保护机制(data execution prevention,DEP)保护的工作原理,以及绕过这些保护措施的技术,实践完成对经典软件漏洞的挖掘、分析和利用。

第9章介绍返回导向编程(return oriented programming,ROP)技术的实现原理和方法,实践完成对经典软件的漏洞进行ROP编程的过程。

第10章介绍32位和64位Linux操作系统下软件漏洞的分析、挖掘和利用技术。

第11章介绍Egg Hunting技术的原理和方法,实践完成对经典软件漏洞的挖掘、分析和利用。

第12章介绍堆喷射技术的原理和方法,实践完成对经典软件漏洞的挖掘、分析和利用。

本书由孙夫雄主编,杨忠杰参与了第1、2章和第10章的编写,管浩澄参与了第3章和第9章的编写,邵思源、陈洋和陈宸参与了第4~7章的编写,本书的校验由梁嘉欣、彭畅协助完成。

本书可以作为非计算机或计算机相关专业的本科生和研究生通识课程的配套实验教材,书中涉及的工具和代码皆可在清华大学出版社官网下载。

由于作者自身水平有限,本书如有不妥甚至错误之处,恳请读者和专家提出宝贵意见。

编者

2022年9月

目录

第1章可执行文件格式解析

1.1项目目的

1.2项目环境

1.3名词解释

1.4预备知识

1.4.1ELF文件格式

1.4.2PE文件格式

1.5项目实现及步骤

1.5.1任务一: EXE注入

1.5.2任务二: EXE感染

1.6思考题

第2章逆向工程及其工具

2.1项目目的

2.2项目环境

2.3名词解释

2.4预备知识

2.4.1逆向工程

2.4.2汇编语言

2.4.3逆向工具

2.5项目实现及步骤

2.5.1任务一: 用IDA修改贪吃蛇游戏

2.5.2任务二: 用IDA破解RE50

2.5.3任务三: 用OllyDbg破解TraceMe

2.5.4任务四: Elfcrackme2程序的逆向分析

2.5.5任务五: 用WinDbg分析代码

2.6思考题

第3章加壳与脱壳

3.1项目目的

3.2项目环境

3.3名词解释

3.4预备知识

3.4.1加壳技术

3.4.2加壳及相关软件

3.4.3查壳软件

3.4.4脱壳及其方法

3.5项目实现及步骤

3.5.1任务一: 加壳操作

3.5.2任务二: 用工具脱壳

3.5.3任务三: 自定义加壳程序及脱壳

3.5.4任务四: 调试脱壳

3.6思考题

第4章缓冲区溢出

4.1项目目的

4.2项目环境

4.3名词解释

4.4预备知识

4.4.1Exploit

4.4.2程序的内存布局

4.4.3栈溢出

4.4.4缓冲区溢出的防范及常见漏洞函数

4.4.5Metasploit

4.4.6Perl语言

4.5项目实现及步骤

4.5.1任务一: 逆向分析pwnme

4.5.2任务二: Windows漏洞服务器

4.6思考题

第5章漏洞的挖掘和利用

5.1项目目的

5.2项目环境

5.3名词解释

5.4预备知识

5.4.1漏洞简介

5.4.2系统漏洞

5.4.3漏洞类别

5.5项目实现及步骤

5.6思考题

第6章异常处理机制及其Exploit

6.1项目目的

6.2项目环境

6.3名词解释

6.4预备知识

6.4.1SEH的原理

6.4.2Unicode编码

6.5项目实现及步骤

6.5.1任务一: SEH机制分析

6.5.2任务二: SoriTong软件的漏洞及其利用方法

6.5.3任务三: Xion软件的漏洞及其利用方法

6.6思考题

第7章GS保护及其Exploit

7.1项目目的

7.2项目环境

7.3名词解释

7.4预备知识

7.4.1GS机制的原理

7.4.2虚函数及其对抗GS的方法

7.5项目实现及步骤

7.5.1任务一: GS机制的分析

7.5.2任务二: 利用加载模块之外的地址绕过SafeSEH和GS

7.5.3任务三: 虚函数分析

7.5.4任务四: 覆盖虚函数突破GS

7.5.5任务五: 替换栈中和.data中的cookie

7.6思考题

第8章ASLR和DEP保护及其Exploit

8.1项目目的

8.2项目环境

8.3名词解释

8.4预备知识

8.4.1DEP

8.4.2ASLR

8.4.3Byakugan

8.5项目实现及步骤

8.5.1任务一: 关闭进程的DEP

8.5.2任务二: BLAZEDVD的漏洞及其利用方法

8.6思考题

第9章返回导向编程

9.1项目目的

9.2项目环境

9.3名词解释

9.4预备知识

9.4.1ROP技术

9.4.2Linux系统中的ROP技术

9.4.3Windows系统中的ROP技术

9.5项目实现及步骤

9.5.1任务一: RMMP3 Converter的漏洞及其利用方法

9.5.2任务二: Vulnserver的漏洞及其利用方法

9.6思考题

第10章Linux Exploit

10.1项目目的

10.2项目环境

10.3名词解释

10.4预备知识

10.4.1保护机制

10.4.2核心转储

10.4.3Ret2Libc技术

10.4.4GOT表与PLT表

10.5项目实现及步骤

10.5.1任务一: 对无任何防护的系统进行Exploit

10.5.2任务二: 通过Ret2Libc绕过NX

10.5.3任务三: 通过Ret2Libc绕过NX和ASLR防护

10.5.4任务四: NX和ASLR防护中无libc

10.5.5任务五: 64位Linux系统下的Exploit

10.6思考题

第11章Egg Hunting技术

11.1项目目的

11.2项目环境

11.3名词解释

11.4预备知识

11.4.1简介

11.4.2工作原理

11.4.3Linux系统中的Egg Hunting方案

11.4.4Windows系统中的Egg Hunting方案

11.5项目实现及步骤

11.5.1任务一: Eureka的漏洞及其利用方法

11.5.2任务二: Kolibri WebServer的漏洞及其利用方法

11.5.3任务三: Linux中的Egg Hunting技术

11.6思考题

第12章堆喷射技术

12.1项目目的

12.2项目环境

12.3名词解释

12.4预备知识

12.4.1堆喷射

12.4.2ActiveX 控件

12.4.3COMRaider工具

12.4.4UseAfterFree漏洞

12.4.5JavaScript编码

12.5项目实现及步骤

12.5.1任务一: 喷射shellcode块

12.5.2任务二: 利用Rspmp3ocx320sw控件的漏洞

12.5.3任务三: 利用IE 8.0的UAF漏洞

12.6思考题

作者简介

编辑推荐

本书基于Windows和Linux操作系统平台编写,系统地讲解分析与利用软件漏洞所需的各类工具、理论技术和实战方法,注重实操性,配套资源丰富。

作者寄语

孙夫雄,博士,硕士生导师,副教授,国家注册信息安全工程师,国家信息安全水平考试培训(NISI)讲师,湖北省网络空间安全学会会员,研究方向为信息安全与机器学习。在信息安全领域具有多年的教学经历和丰富的教学经验。

电子资料

www.luweidong.cn

下一个