图书介绍
软件安全测试艺术pdf电子书版本下载
- (美)CHRISWYSOPALLUCASNELSONDINODAIZOVIELFRIEDEDUSTIN著;程永敬等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111219732
- 出版时间:2007
- 标注页数:213页
- 文件大小:25MB
- 文件页数:240页
- 主题词:软件可靠性-测试
PDF下载
下载说明
软件安全测试艺术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 综述 2
第1章 从传统软件测试转变 2
1.1 安全测试和传统软件测试的对比 4
1.2 安全测试转变的范式 6
1.3 高级安全测试策略 7
1.4 像攻击者一样思考 9
1.4.1 排定工作的优先级 10
1.4.2 在侦测工作中使用辅助工具 11
1.4.3 从漏洞知识中学习 12
1.5 小结 13
第2章 漏洞是怎样藏到软件中的 15
2.1 设计漏洞与实现漏洞 16
2.2 常见的安全设计问题 17
2.2.1 密码技术使用的败笔 17
2.2.2 对用户及其许可权限进行跟踪 19
2.2.3 有缺陷的输入验证 20
2.2.4 薄弱的结构性安全 21
2.2.5 其他设计缺陷 23
2.3 编程语言的实现问题 24
2.3.1 编译型语言:C/C++ 24
2.3.2 解释型语言:Shell脚本和PHP 32
2.3.3 虚拟机语言:Java和C# 35
2.4 平台的实现问题 36
2.4.1 问题:符号链接 37
2.4.2 问题:目录遍历 37
2.4.3 问题:字符转换 38
2.5 常见的应用程序安全实现问题 39
2.5.1 SQL注入 39
2.5.2 跨站点执行脚本 40
2.6 开发过程中的问题 41
2.6.1 安全需求和前提条件的文档记录贫乏 41
2.6.2 交流和文档的匮乏 42
2.6.3 在开发过程中缺少安全过程 42
2.7 部署上的薄弱性 43
2.8 漏洞根源分类法 44
2.9 小结 44
第3章 安全的软件开发生命周期 46
3.1 将安全测试融入到软件开发生命周期中 47
3.2 阶段1:安全原则、规则及规章 49
3.3 阶段2:安全需求:攻击用例 51
3.4 阶段3:架构和设计评审/威胁建模 53
3.5 阶段4:安全的编码原则 53
3.6 阶段5:白盒/黑盒/灰盒测试 54
3.7 阶段6:判定可利用性 54
3.8 安全地部署应用程序 55
3.9 补丁管理:对安全漏洞进行管理 55
3.10 角色和职责 56
3.11 SSDL与系统开发生命周期的关系 56
3.12 小结 58
第4章 基于风险的安全测试 61
4.1 信息搜集 61
4.1.1 与架构师会谈 62
4.1.2 运行时检查 63
4.2 Windows平台 63
4.3 UNIX痕迹检查 67
4.4 完成信息搜集工作 69
4.5 建模过程 69
4.5.1 识别威胁路径 70
4.5.2 识别威胁 73
4.5.3 识别漏洞 74
4.5.4 将与漏洞相关的风险进行分级 75
4.6 判定可利用性 76
第5章 白盒、黑盒和灰盒测试 77
5.1 白盒测试 77
5.2 黑盒测试 78
5.3 灰盒测试 78
5.4 建立用于测试的实验室 79
5.4.1 侦探程序 80
5.4.2 嗅探器 80
5.4.3 调试器 81
5.4.4 硬件 81
5.4.5 商业的测试设备 81
5.4.6 网络硬件 82
5.5 开展应用程序攻击 82
5.5.1 实验室环境 82
5.5.2 网络攻击 83
第二部分 攻击演练 90
第6章 常见的网络故障注入 90
6.1 网络 90
6.2 端口发现 91
6.2.1 netstat和本地工具 91
6.2.2 端口扫描 94
6.3 代理 95
6.3.1 最简单的代理:随机TCP/UDP故障注入程序 96
6.3.2 构建故障注入数据集 100
6.3.3 中间人代理 103
6.4 结论 104
6.5 小结 104
第7章 会话攻击 106
7.1 将要测试应用程序作为攻击目标 106
7.2 身份鉴别和授权 106
7.3 对会话和资源ID进行攻击 107
7.4 Cookie搜集 111
7.5 判断SID的长度:阶段步进分析 113
7.6 跨站执行脚本 115
7.7 结论 118
7.8 小结 118
第8章 Web应用程序的常见问题 119
8.1 绕过授权 120
8.2 SQL注入 121
8.2.1 SQL注入基础 121
8.2.2 数据库模式探索 126
8.2.3 在SQL服务器上执行命令 130
8.3 上传可执行内容 133
8.4 文件枚举 135
8.5 源代码泄露漏洞 138
8.6 HTTP中的隐藏字段 140
8.7 结论 143
8.8 小结 143
第9章 使用WebScarab 144
9.1 WebScarab代理 144
9.2 结论 156
9.3 小结 156
第10章 实现定制的侦探工具 158
10.1 协议发现 158
10.2 SOAP和WSDL 161
10.3 SOAPpy库 163
10.4 结论 170
10.5 小结 170
第11章 本地故障注入 171
11.1 本地资源和进程间通信 171
11.1.1 Windows NT对象 172
11.1.2 UNIX上的set-user-id进程和进程间通信 174
11.2 对本地应用程序进行威胁建模 175
11.2.1 列举Windows应用程序资源 176
11.2.2 列举UNIX应用程序资源 176
11.3 测试可执行脚本的ActiveX对象接口 178
11.4 识别可“安全”执行脚本对象 179
11.5 测试对象接口 181
11.5.1 手工的接口测试 181
11.5.2 自动的ActiveX接口测试 183
11.5.3 对崩溃进行评估 183
11.6 对文件格式进行侦探 184
11.7 文件破坏测试 185
11.8 文件破坏自动化 185
11.9 对命令行工具进行侦探 186
11.10 Immunity公司的ShareFuzz 187
11.11 暴力的二进制测试程序 188
11.12 CLI Fuzz 188
11.13 共享内存 192
11.14 小结 194
第三部分 分析 198
第12章 判定可利用性 198
12.1 漏洞分级 198
12.1.1 时间 198
12.1.2 可靠性/再现性 198
12.1.3 访问 199
12.1.4 定位 200
12.2 内存侵害和任意代码执行 201
12.3 计算机体系结构 202
12.3.1 栈 203
12.3.2 栈缓存区溢出 205
12.3.3 堆 205
12.4 判定可利用性 208
12.4.1 进程崩溃转储 208
12.4.2 被控制的内存和寄存器 208
12.4.3 缓解因素:栈和堆保护 212
12.5 更多资料 213