𝔖 Scriptorium
✦   LIBER   ✦

📁

黑客攻防技术宝典: 系统实战篇

✍ Scribed by Chris Anley; John Heasman; Felix Linder; Gerardo Richarte


Publisher
人民邮电出版社
Year
2010
Tongue
Chinese
Leaves
560
Series
图灵程序设计丛书·网络安全系列
Edition
第2版
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


《黑客攻防技术宝典:系统实战篇(第2版)》由世界顶级安全专家亲自执笔,详细阐述了系统安全、应用程序安全、软件破解、加密解密等安全领域的核心问题,并用大量的实例说明如何检查Windows、Linux、Solaris等流行操作系统中的安全漏洞和Oracle等数据库中的安全隐患。

《黑客攻防技术宝典:系统实战篇(第2版)》适用于所有计算机安全领域的技术人员和管理人员以及对计算机安全感兴趣的爱好者。

✦ Table of Contents


封面
书名
版权
前言
目录
第一部分 破解入门: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有何不同
6.2 堆
6.3 DCOM、DCE-RPC的优缺点
6.3.1 侦察
6.3.2 破解
6.3.3 令牌及其冒用
6.3.4 Win32平台的异常处理
6.4 调试Windows
6.4.1 Win32里的bug
6.4.2 编写Windows shellcode
6.4.3 Win32 API黑客指南
6.4.4 黑客眼中的Windows
6.5 小结
第7章 Windows shellcode
7.1 句法和过滤器
7.2 创建
7.2.1 剖析PEB
7.2.2 分析Heapoverflow.c
7.3 利用Windows异常处理进行搜索
7.4 弹出shell
7.5 为什么不应该在Windows上弹出shell
7.6 小结
第8章 Windows溢出
8.1 栈缓冲区溢出
8.2 基于帧的异常处理程序
8.3 滥用Windows 2003 Server上的基于帧的异常处理
8.3.1 滥用已有的处理程序
8.3.2 在与模块不相关的地址里寻找代码段,从而返回缓冲区
8.3.3 在没有Load Configuration Directory的模块的地址空间里寻找代码段
8.3.4 关于改写帧处理程序的最后说明
8.4 栈保护与Windows 2003 Server
8.5 堆缓冲区溢出
8.6 进程堆
8.6.1 动态堆
8.6.2 与堆共舞
8.6.3 堆是如何工作的
8.7 破解堆溢出
8.7.1 改写PEB里指向RtlEnter CriticalSection的指针
8.7.2 改写指向未处理异常过滤器的指针
8.7.3 修复堆
8.7.4 堆溢出的其他问题
8.7.5 有关堆的总结
8.8 其他的溢出
8.8.1 .data区段溢出
8.8.2 TEB/PEB溢出
8.9 破解缓冲区溢出和不可执行栈
8.10 小结
第9章 战胜过滤器
9.1 为仅接受字母和数字的过滤器写破解代码
9.2 为使用Unicode的过滤器写破解代码
9.2.1 什么是Unicode
9.2.2 从ASCII转为Unicode
9.3 破解Unicode漏洞
9.4 百叶窗法
9.5 译码器和译码
9.5.1 译码器的代码
9.5.2 在缓冲区地址上定位
9.6 小结
第10章 Solaris破解入门
10.1 SPARC体系结构介绍
10.1.1 寄存器和寄存器窗口
10.1.2 延迟槽
10.1.3 合成指令
10.2 Solaris/SPARC shellcode基础
10.2.1 自定位和SPARC shellcode
10.2.2 简单的SPARC exec shellcode
10.2.3 Solaris里有用的系统调用
10.2.4 NOP和填充指令
10.3 Solaris/SPARC栈帧介绍
10.4 栈溢出的方法
10.4.1 任意大小的溢出
10.4.2 寄存器窗口和栈溢出的复杂性
10.4.3 其他复杂的因素
10.4.4 可能的解决方法
10.4.5 off-by-one栈溢出漏洞
10.4.6 shellcode的位置
10.5 栈溢出破解实战
10.5.1 脆弱的程序
10.5.2 破解代码
10.6 Solaris/SPARC上的堆溢出
10.6.1 Solaris System V堆介绍
10.6.2 堆的树状结构
10.7 基本的破解方法(t_delete)
10.7.1 标准堆溢出的限制
10.7.2 改写的目标
10.8 其他与堆相关的漏洞
10.8.1 off-by-one溢出
10.8.2 二次释放漏洞
10.8.3 任意释放漏洞
10.9 堆溢出的例子
10.10 破解Solaris的其他方法
10.10.1 静态数据溢出
10.10.2 绕过不可执行栈保护
10.11 小结
第11章 高级Solaris破解
11.1 单步执行动态链接程序
11.2 Solaris SPARC堆溢出的各种技巧
11.3 高级Solaris/SPARC shellcode
11.4 小结
第12章 OS X shellcode
12.1 OS X就是BSD吗
12.2 OS X是否开源
12.3 UNIX支持的OS X
12.4 OS X PowerPC shellcode
12.5 OS X Intel shellcode
12.5.1 shellcode实例
12.5.2 ret2libc
12.5.3 ret2str(1)cpy
12.6 OS X跨平台shellcode
12.7 OS X堆利用
12.8 在OS X中寻找bug
12.9 一些有趣的bug
12.10 关于OS X破解的必读资料
12.11 小结
第13章 思科IOS破解技术
13.1 思科IOS纵览
13.1.1 硬件平台
13.1.2 软件包
13.1.3 IOS系统架构
13.2 思科IOS里的漏洞
13.2.1 协议剖析代码
13.2.2 路由器上的服务
13.2.3 安全特征
13.2.4 命令行接口
13.3 逆向分析IOS
13.3.1 仔细剖析映像
13.3.2 比较IOS映像文件
13.3.3 运行时分析
13.4 破解思科IOS
13.4.1 栈溢出
13.4.2 堆溢出
13.4.3 shellcode
13.5 小结
第14章 保护机制
14.1 保护
14.1.1 不可执行栈
14.1.2 W^X内存
14.1.3 栈数据保护
14.1.4 AAAS
14.1.5 ASLR
14.1.6 堆保护
14.1.7 Windows SEH保护机制
14.1.8 其他保护机制
14.2 不同实现之间的差异
14.2.1 Windows
14.2.2 Linux
14.2.3 OpenBSD
14.2.4 Mac OS X
14.2.5 Solaris
14.3 小结
第三部分 漏洞发现
第15章 建立工作环境
15.1 需要什么样的参考资料
15.2 用什么编程
15.2.1 gcc
15.2.2 gdb
15.2.3 NASM
15.2.4 WinDbg
15.2.5 OllyDbg
15.2.6 Visual C++
15.2.7 Python
15.3 研究时需要什么
15.3.1 有用的定制脚本/工具
15.3.2 所有的平台
15.3.3 UNIX
15.3.4 Windows
15.4 需要学习的资料
15.5 优化shellcode开发
15.5.1 计划
15.5.2 用内联汇编写shellcode
15.5.3 维护shellcode库
15.5.4 持续运行
15.5.5 使破解程序稳定可靠
15.5.6 窃取连接
15.6 小结
第16章 故障注入
16.1 设计概要
16.1.1 生成输入数据
16.1.2 故障注入
16.1.3 修正引擎
16.1.4 提交故障
16.1.5 Nagel算法
16.1.6 时序
16.1.7 试探法
16.1.8 无状态协议与基于状态的协议
16.2 故障监视
16.2.1 使用调试器
16.2.2 FaultMon
16.3 汇总
16.4 小结
第17章 模糊测试的艺术
17.1 模糊测试理论
17.1.1 静态分析与模糊测试
17.1.2 可扩缩的模糊测试
17.2 模糊测试法的缺点
17.3 建立任意的网络协议模型
17.4 其他可能的模糊测试法
17.4.1 位翻转
17.4.2 修改开源程序
17.4.3 带动态分析的模糊测试
17.5 SPIKE
1 7.5.1 什么是SPIKE
17.5.2 为什么用SPIKE数据结构模仿网络协议
17.6 其他的模糊测试工具
17.7 小结
第18章 源码审计:在基于C的语言里寻找漏洞
1 8.1 工具
18.1.1 Cscope
18.1.2 Ctags
18.1.3 编辑器
18.1.4 Cbrowser
18.2 自动源码分析工具
18.3 方法论
18.3.1 自顶向下(明确的)的方法
18.3.2 自底向上的方法
18.3.3 结合法
18.4 漏洞分类
18.4.1 普通逻辑错误
18.4.2 (几乎)绝迹的错误分类
18.4.3 格式化串
18.4.4 错误的边界检查
18.4.5 循环结构
18.4.6 off-by-one漏洞
18.4.7 非正确终止问题
18.4.8 跳过以'\0'结尾问题
18.4.9 有符号数比较漏洞
18.4.10 整数相关漏洞
18.4.11 不同大小的整数转换
18.4.12 二次释放错误
18.4.13 超出范围的内存使用漏洞
18.4.14 使用未初始化的变量
18.4.15 释放后再使用漏洞
18.4.16 多线程问题和重入安全代码
18.5 超越识别:真正的漏洞和错误
18.6 小结
第19章 手工的方法
19.1 原则
19.2 Oracle extproc溢出
19.3 普通的体系架构故障
19.3.1 问题发生在边界
19.3.2 在数据转换时出现问题
19.3.3 不对称区域里的问题
19.3.4 当认证和授权混淆的时候出现问题
19.3.5 在最显眼的地方存在的问题
19.4 绕过输入验证和攻击检测
19.4.1 剥离坏数据
19.4.2 使用交替编码
19.4.3 使用文件处理特征
19.4.4 避开攻击特征
19.4.5 击败长度限制
19.5 Windows 2000 SNMP DOS
19.6 发现DOS攻击
19.7 SQL-UDP
19.8 小结
第20章 跟踪漏洞
20.1 概述
20.1.1 脆弱的程序
20.1.2 组件设计
20.1.3 编译VulnTrace
20.1.4 使用VulnTrace
20.1.5 高级的技术
20.2 小结
第21章 二进制审计:剖析不公开源码的软件
21.1 二进制与源码审计之间的明显差异
21.2 IDA pro——商业工具
21.2.1 IDA特征简介
21.2.2 调试符号
2.1.3 二进制审计入门
21.3.1 栈帧
21.3.2 调用约定
21.3.3 编译器生成的代码
21.3.4 类似memcpy代码构造
21.3.5 类似stlen的代码构造
21.3.6 C十十代码构造
21.3.7 this指针
21.4 重构类定义
21.4.1 vtables
21.4.2 快速且有用的花絮
21.5 手动二进制分析
21.5.1 快速检查函数库调用
21.5.2 可疑的循环和写指令
21.5.3 高层理解和逻辑错误
21.5.4 二进制的图形化分析
21.5.5 手动反编译
21.6 二进制漏洞例子
21.6.1 微软SQL Server错误
21.6.2 LSD的RPC-DCOM漏洞
21.6.3 IIS WebDav漏洞
21.7 小结
第四部分 高级内容
第22章 其他载荷策略
22.1 修改程序
22.2 SQL Server 3B补丁
22.3 MySQL 1位补丁
22.4 OpenSSH RSA认证补丁
22.5 其他运行时修补方法
22.6 上载和运行(或proglet服务器)
22.7 系统调用代理
22.8 系统调用代理的问题
22.9 小结
第23章 编写在实际环境中运行的代码
23.1 不可靠的因素
23.1.1 魔术数字
23.1.2 版本
23.1.3 shellcode问题
23.2 对策
23.2.1 准备
23.2.2 暴力破解
23.2.3 本地破解
23.2.4 OS/应用程序指纹
23.2.5 信息泄露
2.3.3 小结
第24章 攻击数据库软件
24.1 网络层攻击
24.2 应用层攻击
24.3 运行操作系统命令
24.3.1 微软SQL Server
24.3.2 Oracle
24.3.3 IBM DB2
24.4 SQL层的多种利用方法
24.5 小结
第25章 UNIX内核溢出
25.1 内核漏洞类型
25.2 Oday内核漏洞
25.2.1 OpenBSD exec_ibcs2_coff_prep_zmagic()栈溢出
25.2.2 漏洞
25.3 Solaris vfs_getvfssw()可加载内核模块遍历漏洞
25.3.1 sysfs()系统调用
25.3.2 mount()系统调用
25.4 小结
第26章 破解UNIX内核漏洞
26.1 exec_ibcs2_coff_prep_zmagic()漏洞
26.1.1 计算偏移量和断点
26.1.2 改写返回地址并重定向执行流程
26.1.3 查找进程描述符(或进程结构)
26.1.4 开发内核模式载荷
26.1.5 从内核载荷返回
26.1.6 得到根权限(uid=0)
26.2 Solaris vfs_getvfssw()可加载内核模块路径遍历破解
26.2.1 精心编写破解代码
26.2.2 加载内核模块
26.2.3 得到根权限(uid=0)
26.3 小结
第27章 破解Windows内核
27.1 Windows内核模式缺陷——逐渐增多的猎物
27.2 Windows内核介绍
27.3 常见内核模式编程缺陷
27.3.1 栈溢出
27.3.2 堆溢出
27.3.3 没有充分验证用户模式地址
27.3.4 多目的化攻击
27.3.5 共享的对象攻击
27.4 Windows系统调用
27.4.1 理解系统调用
27.4.2 攻击系统调用
27.5 与设备驱动程序通信
27.5.1 IOCTL组件
27.5.2 发现1OCTL处理程序中的缺陷
27.6 内核模式载荷
27.6.1 提升用户模式进程
27.6.2 运行任意的用户模式载荷
27.6.3 颠覆内核安全
27.6.4 安装rootkit
27.7 内核shellcoder的必读资料
27.8 小结


📜 SIMILAR VOLUMES


黑客攻防技术宝典:Web实战篇(第2版)
✍ [英] Dafydd Stuttard; [英] Marcus Pinto 📂 Library 📅 2012 🏛 人民邮电出版社 🌐 Chinese

内容简介: Web应用无处不在,安全隐患如影随形。承载着丰富功能与用途的Web应用程序中布满了各种漏洞,攻击者能够利用这些漏洞盗取用户资料,实施诈骗,破坏其他系统等。近年来,一些公司的网络系统频频遭受攻击,导致用户信息泄露,造成不良影响。因此,如何确保Web应用程序的安全,已成为摆在人们眼前亟待解决的问题。 本书是Web安全领域专家的经验结晶,系统阐述了如何针对Web应用程序展开攻击与反攻击,深入剖析了攻击时所使用的技巧、步骤和工具,条理清晰,内容详尽。第2版全面升级,涵盖了最新的攻击技巧与应对措施,此外,书中还列出了几百个“漏洞实验室”,以帮助读者对所学内容进行巩固和实战演习。

黑客攻防技术宝典(第2版):Web实战篇(第2版)
✍ [英] Dafydd Stuttard / [英] Marcus Pinto 著; 石华耀 / 傅志红 译 📂 Library 📅 2012 🏛 人民邮电出版社 🌐 Chinese

书签已装载, 书签制作方法请找 [email protected] 完全免费 (若有印刷不清等问题也请发送相关邮件,会尽快更新的) 内容简介: Web应用无处不在,安全隐患如影随形。承载着丰富功能与用途的Web应用程序中布满了各种漏洞,攻击者能够利用这些漏洞盗取用户资料,实施诈骗,破坏其他系统等。近年来,一些公司的网络系统频频遭受攻击,导致用户信息泄露,造成不良影响。因此,如何确保Web应用程序的安全,已成为摆在人们眼前亟待解决的问题。 本书是Web安全领域专家的经验结晶,系统阐述了如何针对Web应用程序展开攻击与反攻击,深入剖析了攻击时所使用的技巧、步骤和工

黑客攻防与网络安全从新手到高手(实战篇)
✍ 网络安全技术联盟 主编 魏红副主编 📂 Library 📅 2019 🏛 清华大学出版社 🌐 Chinese

《黑客攻防与网络安全从新手到高手:实战篇》在剖析用户进行黑客防御中迫切需要或想要用到的技术时,力求对其进行“傻瓜”式的讲解,使读者对网络防御技术有一个系统的了解,能够更好地防范黑客的攻击。全书共分为15章,包括网络安全快速入门、搭建网络安全测试环境、黑客入侵方式与DOS命令、木马病毒的查杀与预防、系统漏洞与用户账户的安全防护、远程控制入侵系统的安全防护、网络账号及密码的安全防护、浏览器的安全防护、有线局域网的安全防护、无线局域网的安全防护、网站系统的安全防护、电子邮箱与邮件的安全防护、操作系统的安全防护、计算机安全的终极防护、黑客后门入侵痕迹的清理等内容。 另外,《黑客攻防与网络安全从新手到