图书介绍
软件安全相关的19个致命漏洞PDF|Epub|txt|kindle电子书版本网盘下载
![软件安全相关的19个致命漏洞](https://www.shukui.net/cover/78/30521020.jpg)
- (美)豪沃(Howard,M.),(美)勒伯兰克(LeBlanc,D.),(美)维加(Viega,J.)著;肖枫涛,杨明军译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302138044
- 出版时间:2006
- 标注页数:252页
- 文件大小:13MB
- 文件页数:268页
- 主题词:软件可靠性-研究
PDF下载
下载说明
软件安全相关的19个致命漏洞PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1.1 漏洞概述1
第1章 缓冲区溢出1
1.2 受影响的编程语言2
1.3 漏洞详细解释2
1.3.1 受漏洞影响的C/C++5
1.3.2 相关漏洞8
1.4 查找漏洞模式8
1.5 在代码审查中查找该漏洞8
1.6 发现该漏洞的测试技巧9
1.7.1 CVE-1999-004210
1.7.2 CVE-2000-0389—CVE-2000-039210
1.7 漏洞示例10
1.7.3 CVE-2002-0842、CVE-2003-0095、CAN-2003-009611
1.7.4 CAN-2003-035211
1.8 弥补措施12
1.8.1 替换危险的字符串处理函数12
1.8.2 审计分配操作12
1.8.3 检查循环和数组访问12
1.8.4 使用C++字符串来替换C字符串缓冲区12
1.8.5 使用STL容器替代静态数组13
1.8.6 使用分机工具13
1.9 其他防御措施13
1.9.2 不可执行的栈和堆14
1.10 其他资源14
1.9.1 栈保护14
1.11 本章总结16
第2章 格式化字符串问题17
2.1 漏洞概述17
2.2 受影响的编程语言18
2.3 漏洞详细解释18
2.3.1 受漏洞影响的C/C++20
2.3.2 相关漏洞20
2.4 查找漏洞模式21
2.5 在代码审查中查找该漏洞21
2.6 发现该漏洞的测试技巧21
2.7.2 CVE-2000-084422
2.7.1 CVE-2000-057322
2.7 漏洞示例22
2.8 弥补措施23
2.9 其他防御措施23
2.10 其他资源23
2.11 本章总结24
第3章 整数溢出25
3.1 漏洞概述25
3.2 受影响的编程语言25
3.3 漏洞详细解释26
3.3.1 受漏洞影响的C和C++26
3.3.2 受漏洞影响的C31
3.3.3 受漏洞影响的Visual Basic和Visual Basic.net32
3.3.4 受漏洞影响的Java33
3.3.5 受漏洞影响的Perl34
3.4 查找漏洞模式35
3.5 在代码审查中查找漏洞35
3.5.1 C/C++35
3.5.2 C37
3.5.3 Java37
3.5.4 Visual Basic和Visual Basic.NET38
3.5.5 Perl38
3.6 发现该漏洞的测试技巧38
3.7 漏洞示例38
3.7.1 在Windows脚本引擎中存在的漏洞可以导致任意代码执行38
3.8 弥补措施39
3.7.3 在HTR块编码中存在的堆溢出可以导致Web服务器遭到入侵39
3.7.2 在SOAPParameter的对象构造函数中存在整数溢出39
3.9 其他防御措施41
3.10 其他资源41
3.11 本章总结42
第4章 SQL注入43
4.1 漏洞概述43
4.2 受影响的编程语言44
4.3 漏洞详细解释44
4.3.1 受漏洞影响的C44
4.3.2 受漏洞影响的PHP45
4.3.3 受漏洞影响的Perl/CGI46
4.3.4 受漏洞影响的Java和JDBC46
4.3.5 受漏洞影响的SQL47
4.3.6 相关漏洞48
4.4 查找漏洞模式49
4.5 在代码审查中查找该漏洞49
4.6 发现该漏洞的测试技巧50
4.7 漏洞示例52
4.7.1 CAN-2004-34852
4.7.2 CAN-2002-055452
4.8 弥补措施52
4.8.1 验证所有的输入52
4.8.2 不要使用字符串连接来构造SQL语句53
4.9 其他防御措施56
4.10 其他资源56
4.11 本章总结57
第5章 命令注入59
5.1 漏洞概述59
5.2 受影响的编程语言59
5.3 漏洞详细解释59
5.4 查找漏洞模式61
5.5 在代码审查中查找该漏洞61
5.6 发现该漏洞的测试技巧63
5.7 漏洞示例64
5.7.1 CAN-2001-118764
5.7.2 CAN-2002-065264
5.8 弥补措施65
5.8.1 数据验证65
5.9 其他防御措施67
5.8.2 当检查失败时67
5.10 其他资源68
5.11 本章总结68
第6章 未能处理错误信息69
6.1 漏洞概述69
6.2 受影响的编程语言69
6.3 漏洞详细解释69
6.3.1 产生太多的信息70
6.3.2 忽略了错误信息70
6.3.6 处理所有的异常71
6.3.5 处理了错误的异常71
6.3.4 使用了无用的错误值71
6.3.3 曲解了错误信息71
6.3.7 受漏洞影响的C/C++72
6.3.8 Windows上受漏洞影响的C/C++72
6.3.9 受漏洞影响的C++73
6.3.10 受漏洞影响的C#、VB.NET及Java73
6.3.11 相关漏洞74
6.4 查找漏洞模式74
6.5 在代码审查中查找该漏洞74
6.6 发现该漏洞的测试技巧75
6.7 漏洞示例75
6.8.1 C/C++弥补措施76
6.8.2 C#、VB.NET和Java弥补措施76
6.8 弥补措施76
6.9 其他资源77
6.10 本章总结77
第7章 跨站脚本79
7.1 漏洞概述79
7.2 受影响的编程语言79
7.3 漏洞详细解释79
7.3.1 受漏洞影响的C/C++ ISAPI应用程序或者过滤程序80
7.3.2 受漏洞影响的ASP81
7.3.3 受漏洞影响的ASP.NET表单81
7.3.4 受漏洞影响的JSP81
7.3.5 受漏洞影响的PHP81
7.4 查找漏洞模式82
7.3.6 受漏洞影响的使用Perl的CGI程序82
7.3.7 受漏洞影响的mod_perl82
7.5 在代码审查中查找该漏洞83
7.6 发现该漏洞的测试技巧84
7.7 漏洞示例85
7.7.1 IBM Lotus Domino跨站脚本和HTML注入漏洞85
7.7.2 Oracle HTTP服务器的“isqlplus”输入验证漏洞允许远程用户实施跨站脚本攻击85
7.7.3 CVE-2002-084085
7.8 弥补措施85
7.8.1 ISAPI C/C++弥补措施86
7.8.2 ASP弥补措施86
7.8.3 ASP.NET表单弥补措施87
7.8.4 JSP弥补措施87
7.8.6 CGI弥补措施89
7.8.5 PHP弥补措施89
7.8.7 mod_perl弥补措施90
7.8.8 关于HTML编码的注意事项90
7.9 其他防御措施91
7.10 其他资源91
7.11 本章总结92
第8章 未能保护好网络流量93
8.1 漏洞概述93
8.2 受影响的编程语言94
8.3 漏洞详细解释94
8.4 查找漏洞模式96
8.5 在代码审查中查找漏洞96
8.7 漏洞示例99
8.6 发现该漏洞的测试技巧99
8.7.1 TCP/IP100
8.7.2 电子邮件协议100
8.7.3 电子商务100
8.8 弥补措施101
8.9 其他防御措施104
8.10 其他资源104
8.11 本章总结104
第9章 使用Magic URL及隐藏表单字段105
9.1 漏洞概述105
9.2 受影响的编程语言105
9.3 漏洞详细解释105
9.3.3 相关漏洞106
9.3.1 Magic URL106
9.3.2 隐藏表单字段106
9.4 查找漏洞模式107
9.5 在代码审查中查找该漏洞107
9.6 发现该漏洞的测试技巧108
9.7 漏洞示例109
9.7.1 CAN-2000-1001109
9.7.2 MaxWebProtal隐藏表单字段修改109
9.8 弥补措施109
9.8.1 攻击者浏览数据110
9.8.2 攻击者重放数据110
9.8.3 攻击者预测数据112
9.8.4 攻击者更改数据113
9.11 本章总结114
9.9 其他防御措施114
9.10 其他资源114
第10章 未能正确使用SSL和TLS115
10.1 漏洞概述115
10.2 受影响的编程语言115
10.3 漏洞详细解释116
10.4 查找漏洞模式118
10.5 在代码审查查找该漏洞119
10.6 发现该漏洞的测试技巧120
10.7 漏洞示例121
10.7.1 电子邮件客户端121
10.7.2 Safari Web浏览器121
10.8 弥补措施122
10.7.3 Stunnel SSL代理122
10.8.1 选择协议版本123
10.8.2 选择加密套件124
10.8.3 确保证书的有效性124
10.8.4 验证主机名126
10.8.5 检查证书撤销126
10.9 其他防御措施128
10.10 其他资源129
10.11 本章总结129
11.2 受影响的编程语言131
11.3 漏洞详细解释131
11.1 漏洞概述131
第11章 使用基于弱口令的系统131
11.4 查找漏洞模式133
11.5 在代码审查中查找该漏洞134
11.5.1 口令内容策略134
11.5.2 口令修改和重置134
11.5.3 口令协议135
11.5.4 口令处理和存储135
11.6 发现该漏洞的测试技巧136
11.7 漏洞示例136
11.7.1 CVE-2005-1505136
11.7.2 CVE-2005-0432137
11.7.3 TENEX漏洞137
11.8.1 多方式认证138
11.8 弥补措施138
11.7.4 Paris Hilton劫持138
11.8.2 存储以及检查口令139
11.8.3 选择协议的原则142
11.8.4 口令重置的原则142
11.8.5 口令选择的原则143
11.8.6 其他原则144
11.9 其他防御措施144
11.10 其他资源145
11.11 本章总结145
12.2 受影响的编程语言147
12.3 漏洞详细解释147
12.1 漏洞概述147
第12章 未能安全地存储和保护数据147
12.3.1 采用脆弱的访问控制机制“保护”秘密数据148
12.3.2 受漏洞影响的访问控制149
12.3.3 代码中内嵌秘密数据151
12.3.4 相关漏洞151
12.4 查找漏洞模式151
12.5 在代码审查中查找漏洞152
12.6 发现该漏洞的测试技巧153
12.7 漏洞示例155
12.7.1 CVE-2000-0100155
12.7.2 CAN-2002-1590155
12.7.3 CVE-1999-0886155
12.8 弥补措施156
12.7.5 CAN-2004-0391156
12.7.4 CAN-2004-0311156
12.8.1 使用操作系统的安全技术157
12.8.2 C/C++ Windows 2000以及更新版本的弥补措施157
12.8.3 ASP.NET 1.1以及更新版本的弥补措施159
12.8.4 C#.NETFramework 2.0弥补措施159
12.8.5 C/C++ Mac OS X 10.2以及更新版本的弥补措施159
12.8.6 无需操作系统支持的弥补措施(不在代码中保存秘密数据)160
12.8.7 Java和Java KeyStore的注意事项162
12.9 其他防御措施163
12.10 其他资源164
12.11 本章总结165
13.2 受影响的编程语言167
13.1 漏洞概述167
第13章 信息泄漏167
13.3 漏洞详细解释168
13.3.1 旁路168
13.3.2 TMI:太多的信息!169
13.3.3 信息流安全模型171
13.3.4 受漏洞影响的C#(以及其他的编程语言)173
13.3.5 相关漏洞173
13.4 查找漏洞模式173
13.5 在代码审查中查找该漏洞173
13.6 发现该漏洞的测试技巧175
13.7 漏洞示例175
13.7.1 Dan Bernstein的AES定时攻击175
13.7.3 CAN-2005-1133176
13.7.2 CAN-2005-1411176
13.8.1 C#(以及其他编程语言)弥补措施177
13.8 弥补措施177
13.8.2 本地网络的弥补措施178
13.9 其他防御措施178
13.10 其他资源178
13.11 本章总结179
第14章 不恰当的文件访问181
14.1 漏洞概述181
14.2 受影响的编程语言182
14.3 漏洞详细解释182
14.3.1 在Windows上受漏洞影响的C/C++182
14.3.4 受漏洞影响的Python183
14.3.2 受漏洞影响的C/C++183
14.3.3 受漏洞影响的Perl183
14.3.5 相关漏洞184
14.4 查找漏洞模式184
14.5 在代码审查中查找该漏洞184
14.6 发现该漏洞的测试技巧185
14.7 漏洞示例186
14.7.1 CAN-2005-0004186
14.7.2 CAN-2005-0799186
14.7.3 CAN-2004-0452和CAN-2004-0448186
14.7.4 CVE-2004-0115 Microsoft的Mac版Virtual PC186
14.8.2 *nix上C/C++的弥补措施187
14.8.1 Perl弥补措施187
14.8 弥补措施187
14.8.3 Windows上C/C++的弥补措施188
14.8.4 获取用户临时文件的目录188
14.8.5 .NET代码弥补措施188
14.9 其他防御措施189
14.10 其他资源189
14.11 本章总结189
第15章 轻信网络域名解析191
15.1 漏洞概述191
15.2 受影响的编程语言191
15.3 漏洞详细解释192
15.3.2 相关漏洞194
15.3.1 受漏洞影响的应用程序194
15.4 查找漏洞模式195
15.5 在代码审查中查找该漏洞195
15.6 发现该漏洞的测试技巧195
15.7 漏洞示例196
15.7.1 CVE-2002-0676196
15.7.2 CVE-1999-0024196
15.8 弥补措施197
15.9 其他资源198
15.10 本章总结198
16.3 漏洞详细解释199
16.2 受影响的编程语言199
第16章 竞争条件199
16.1 漏洞概述199
16.3.1 受漏洞影响的代码201
16.3.2 相关漏洞201
16.4 查找漏洞模式202
16.5 在代码审查中查找该漏洞202
16.6 发现该漏洞的测试技巧203
16.7 漏洞示例204
16.7.1 CVE-2001-1349204
16.7.2 CAN-2003-1073204
16.7.3 CVE-2000-0849204
16.8 弥补措施205
16.10 其他资源206
16.9 其他防御措施206
16.11 本章总结207
第17章 未认证的密钥交换209
17.1 漏洞概述209
17.2 受影响的语言209
17.3 漏洞详细解释209
17.4 查找漏洞模式211
17.5 在代码审查中查找该漏洞211
17.6 发现该漏洞的测试技巧212
17.7 漏洞示例212
17.7.1 Novell Netware MITM攻击212
17.7.2 CAN-2004-0155212
17.9 其他防御措施213
17.10 其他资源213
17.8 弥补措施213
17.11 本章总结214
第18章 密码学强度随机数215
18.1 漏洞概述215
18.2 受影响的编程语言215
18.3 漏洞详细解释215
18.3.1 受漏洞影响的非密码学生成器216
18.3.2 受漏洞影响的密码字生成器216
18.3.3 受漏洞影响的真随机数生成器217
18.5 在代码审查中查找该漏洞218
18.5.2 查找使用PRNG的地方218
18.5.1 什么时候应该使用随机数218
18.4 查找漏洞模式218
18.3.4 相关漏洞218
18.5.3 判断CRNG是否正确地播种219
18.6 发现该漏洞的测试技巧220
18.7 漏洞示例220
18.7.1 Netscape浏览器220
18.7.2 OpenSSL问题221
18.8 弥补措施221
18.8.1 Windows221
18.8.2 .NET代码222
18.8.3 UNIX222
18.8.4 Java223
18.8.5 重放数字流223
18.11 本章总结224
18.10 其他资源224
18.9 其他防御措施224
第19章 不良可用性225
19.1 漏洞概述225
19.2 受影响的语言225
19.3 漏洞详细解释225
19.3.1 谁是您的用户?226
19.3.2 雷区:向您的用户呈现安全相关的信息227
19.3.3 相关漏洞227
19.4 查找漏洞模式227
19.5 在代码审查中寻找该漏洞227
19.7 漏洞示例228
19.7.1 SSL/TLS证书认证228
19.6 发现该漏洞的测试技巧228
19.7.2 Internet Explorer 4.0根证书安装229
19.8 弥补措施230
19.8.1 简化UI以便用户参与230
19.8.2 为用户做出安全决策230
19.8.3 使有选择的松弛安全策略变得简单231
19.8.4 明确指出后果232
19.8.5 提供可操作性235
19.8.6 提供集中管理235
19.9 其他资源235
19.10 本章总结236
附录A 19个致命漏洞与OWASP的“前10名”漏洞的对应关系237
附录B “要”与“不要”提示总结239
译者术语表247