万本电子书0元读

万本电子书0元读

顶部广告

CTF竞赛权威指南(Pwn篇)电子书

Pwn被认为是CTF竞赛中体现技术实力的关键部分、也是zui难的部分。市面上虽已有相关的CTF书籍,但并无一本专注于此!《CTF竞赛权威指南(Pwn篇)》填补了这一空白。为读者透彻理解相关安全技术了一扇大门。 本书利用历届CTF真题,以x86/x64平台下Linux系统中的Pwn样题为例,讲述漏洞利用的基本方法和技巧。由于Linux系统本身就是一个源系统,相关文档也比较齐全,因此,在这个平台上容易把问题讲透。把基本功练扎实了,再去学习其他平台上的漏洞利用技术,必将起到事半而功倍的效果。此外,当前被广泛使用的Android等操作系统本身就是Linux系统的变种,相关技术也很容易移植到这些系统的漏洞发掘利用中去。

售       价:¥

纸质售价:¥103.40购买纸书

361人正在读 | 0人评论 6.2

作       者:杨超

出  版  社:电子工业出版社

出版时间:2020-12-01

字       数:18.1万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书专注于Linux二制安全。全书包含12章,从二制底层始,结合源码详细分析了常见的二制安全漏洞、缓解机制以及漏洞利用方法,并辅以分析工具和环境搭建的讲解。本书在素材的选择上较为连续、完整,每个知识均配以经典例题,并花费了大量篇幅深讲解,以*程度地还原分析思路和解题过程。读者完全可以依据本书自主、系统性地学习,达到举一反三的效果。本书主要面向CTF初学者,也适合对CTF感兴趣的人群学习。<br/>【推荐语】<br/>Pwn被认为是CTF竞赛中体现技术实力的关键部分、也是zui难的部分。市面上虽已有相关的CTF书籍,但并无一本专注于此!《CTF竞赛权威指南(Pwn篇)》填补了这一空白。为读者透彻理解相关安全技术了一扇大门。 《CTF竞赛权威指南(Pwn篇)》利用历届CTF真题,以x86/x64平台下Linux系统中的Pwn样题为例,讲述漏洞利用的基本方法和技巧。由于Linux系统本身就是一个源系统,相关文档也比较齐全,因此,在这个平台上容易把问题讲透。练扎实了基本功,再去学习其他平台上的漏洞利用技术,必将起到事半而功倍的效果。此外,当前被广泛使用的Android等操作系统本身就是Linux系统的变种,相关技术也很容易移植到这些系统的漏洞发掘利用中去。 吴石老师及腾讯eee战队,亲自为本书把脉提供指导,干货满满,诚意十足,手为快!<br/>【作者】<br/>杨超,毕业于西安电子科技大学,L-Team成员。目前就职于中国汽研北京分院,从事车联网安全研究和工具发工作。曾任职于海康威视、斗象科技。活跃在源社区, GitHub:firmianay。   腾讯eee战队,腾讯安全2016年成立的一支具有国际先技术实战能力的CTF战队。战队核心成员均来自腾讯安全科恩实验室,导师由腾讯安全科恩实验室负责人、国际著名网络安全专家吴石担任。 目前,战队成员已连续4年参与征战DEFCON决赛,并在HITCON、PlaidCTF、SECCON等世界安全赛事中,不断刷新战队历史好成绩,为国际间的技术交流与人才培养奠定基础。同时,战队还积极参与国内赛事演练,并在2018年连续荣膺中国网络安全三大国赛——“强网杯”“网鼎杯”和“护网杯”赛事冠军,成为个实现国赛大满贯的战队;2019年,战队再度蝉联“强网杯”线上、线下赛冠军。2020年,战队获得第四届“强网杯”亚军。<br/>
目录展开

前折页

内容简介

推荐序

第1章 CTF简介

1.1 赛事介绍

1.1.1 赛事起源

1.1.2 竞赛模式

1.1.3 竞赛内容

1.2 知名赛事及会议

1.2.1 网络安全竞赛

1.2.2 网络安全会议

1.2.3 网络安全学术会议

1.3 学习经验

1.3.1 二进制安全入门

1.3.2 CTF经验

1.3.3 对安全从业者的建议

参考资料

第2章 二进制文件

2.1 从源代码到可执行文件

2.1.1 编译原理

2.1.2 GCC编译过程

2.1.3 预处理阶段

2.1.4 编译阶段

2.1.5 汇编阶段

2.1.6 链接阶段

2.2 ELF文件格式

2.2.1 ELF文件的类型

2.2.2 ELF文件的结构

2.2.3 可执行文件的装载

2.3 静态链接

2.3.1 地址空间分配

2.3.2 静态链接的详细过程

2.3.3 静态链接库

2.4 动态链接

2.4.1 什么是动态链接

2.4.2 位置无关代码

2.4.3 延迟绑定

参考资料

第3章 汇编基础

3.1 CPU架构与指令集

3.1.1 指令集架构

3.1.2 CISC与RISC对比

3.2 x86/x64汇编基础

3.2.1 CPU操作模式

3.2.2 语法风格

3.2.3 寄存器与数据类型

3.2.4 数据传送与访问

3.2.5 算术运算与逻辑运算

3.2.6 跳转指令与循环指令

3.2.7 栈与函数调用

参考资料

第4章 Linux安全机制

4.1 Linux基础

4.1.1 常用命令

4.1.2 流、管道和重定向

4.1.3 根目录结构

4.1.4 用户组及文件权限

4.1.5 环境变量

4.1.6 procfs文件系统

4.1.7 字节序

4.1.8 调用约定

4.1.9 核心转储

4.1.10 系统调用

4.2 Stack Canaries

4.2.1 简介

4.2.2 实现

4.2.3 NJCTF 2017:messager

4.2.4 sixstars CTF 2018:babystack

4.3 No-eXecute

4.3.1 简介

4.3.2 实现

4.3.3 示例

4.4 ASLR和PIE

4.4.1 ASLR

4.4.2 PIE

4.4.3 实现

4.4.4 示例

4.5 FORTIFY_SOURCE

4.5.1 简介

4.5.2 实现

4.5.3 示例

4.5.4 安全性

4.6 RELRO

4.6.1 简介

4.6.2 示例

4.6.3 实现

参考资料

第5章 分析环境搭建

5.1 虚拟机环境

5.1.1 虚拟化与虚拟机管理程序

5.1.2 安装虚拟机

5.1.3 编译debug版本的glibc

5.2 Docker环境

5.2.1 容器与Docker

5.2.2 Docker安装及使用

5.2.3 Pwn题目部署

参考资料

第6章 分析工具

6.1 IDA Pro

6.1.1 简介

6.1.2 基本操作

6.1.3 远程调试

6.1.4 IDAPython

6.1.5 常用插件

6.2 Radare2

6.2.1 简介及安装

6.2.2 框架组成及交互方式

6.2.3 命令行工具

6.2.4 r2命令

6.3 GDB

6.3.1 组成架构

6.3.2 工作原理

6.3.3 基本操作

6.3.4 增强工具

6.4 其他常用工具

6.4.1 dd

6.4.2 file

6.4.3 ldd

6.4.4 objdump

6.4.5 readelf

6.4.6 socat

6.4.7 strace&ltrace

6.4.8 strip

6.4.9 strings

6.4.10 xxd

参考资料

第7章 漏洞利用开发

7.1 shellcode开发

7.1.1 shellcode的基本原理

7.1.2 编写简单的shellcode

7.1.3 shellcode变形

7.2 Pwntools

7.2.1 简介及安装

7.2.2 常用模块和函数

7.3 zio

7.3.1 简介及安装

7.3.2 使用方法

参考资料

第8章 整数安全

8.1 计算机中的整数

8.2 整数安全漏洞

8.2.1 整数溢出

8.2.2 漏洞多发函数

8.2.3 整数溢出示例

参考资料

第9章 格式化字符串

9.1 格式化输出函数

9.1.1 变参函数

9.1.2 格式转换

9.2 格式化字符串漏洞

9.2.1 基本原理

9.2.2 漏洞利用

9.2.3 fmtstr模块

9.2.4 HITCON CMT 2017:pwn200

9.2.5 NJCTF 2017:pingme

参考资料

第10章 栈溢出与ROP

10.1 栈溢出原理

10.1.1 函数调用栈

10.1.2 危险函数

10.1.3 ret2libc

10.2 返回导向编程

10.2.1 ROP简介

10.2.2 ROP的变种

10.2.3 示例

10.3 Blind ROP

10.3.1 BROP原理

10.3.2 HCTF 2016:brop

10.4 SROP

10.4.1 SROP原理

10.4.2 pwntools srop模块

10.4.3 Backdoor CTF 2017:Fun Signals

10.5 stack pivoting

10.5.1 stack pivoting原理

10.5.2 GreHack CTF 2017:beerfighter

10.6 ret2dl-resolve

10.6.1 ret2dl-resolve原理

10.6.2 XDCTF 2015:pwn200

参考资料

第11章 堆利用

11.1 glibc堆概述

11.1.1 内存管理与堆

11.1.2 重要概念和结构体

11.1.3 各类bin介绍

11.1.4 chunk相关源码

11.1.5 bin相关源码

11.1.6 malloc_consolidate()函数

11.1.7 malloc()相关源码

11.1.8 free()相关源码

11.2 TCache机制

11.2.1 数据结构

11.2.2 使用方法

11.2.3 安全性分析

11.2.4 HITB CTF 2018:gundam

11.2.5 BCTF 2018:House of Atum

11.3 fastbin二次释放

11.3.1 fastbin dup

11.3.2 fastbin dup consolidate

11.3.3 0CTF 2017:babyheap

11.4 house of spirit

11.4.1 示例程序

11.4.2 LCTF 2016:pwn200

11.5 不安全的unlink

11.5.1 unsafe unlink

11.5.2 HITCON CTF 2016:Secret Holder

11.5.3 HITCON CTF 2016:Sleepy Holder

11.6 off-by-one

11.6.1 off-by-one

11.6.2 poison null byte

11.6.3 ASIS CTF 2016:b00ks

11.6.4 Plaid CTF 2015:PlaidDB

11.7 house of einherjar

11.7.1 示例程序

11.7.2 SECCON CTF 2016:tinypad

11.8 overlapping chunks

11.8.1 扩展被释放块

11.8.2 扩展已分配块

11.8.3 hack.lu CTF 2015:bookstore

11.8.4 0CTF 2018:babyheap

11.9 house of force

11.9.1 示例程序

11.9.2 BCTF 2016:bcloud

11.10 unsorted bin与large bin攻击

11.10.1 unsorted bin into stack

11.10.2 unsorted bin attack

11.10.3 large bin攻击

11.10.4 0CTF 2018:heapstorm2

参考资料

第12章 Pwn技巧

12.1 one-gadget

12.1.1 寻找one-gadget

12.1.2 ASIS CTF Quals 2017:Start hard

12.2 通用gadget及Return-to-csu

12.2.1 Linux程序的启动过程

12.2.2 Return-to-csu

12.2.3 LCTF 2016:pwn100

12.3 劫持hook函数

12.3.1 内存分配hook

12.3.2 0CTF 2017 - babyheap

12.4 利用DynELF泄露函数地址

12.4.1 DynELF模块

12.4.2 DynELF原理

12.4.3 XDCTF 2015:pwn200

12.4.4 其他泄露函数

12.5 SSP Leak

12.5.1 SSP

12.5.2 __stack_chk_fail()

12.5.3 32C3 CTF 2015:readme

12.5.4 34C3 CTF 2017:readme_revenge

12.6 利用environ泄露栈地址

12.7 利用_IO_FILE结构

12.7.1 FILE结构体

12.7.2 FSOP

12.7.3 FSOP(libc-2.24版本)

12.7.4 HITCON CTF 2016:House of Orange

12.7.5 HCTF 2017:babyprintf

12.8 利用vsyscall

12.8.1 vsyscall和vDSO

12.8.2 HITB CTF 2017:1000levels

参考资料

后折页

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部