新闻资讯
看你所看,想你所想

一个都不能有―软件的19个致命安全漏洞

《一个都不能有―软件的19个致命安全漏洞》是2006年清华大学出版社出版的图书,作者是(美)豪沃(Howard,M) 等。本书本着小巧、易读、实用的原则,涵盖了目前流行的编程语言和运行平台,覆盖了最为常见的与软件安全相关的来自19个致命漏洞。

  • 书名 一个都不能有―软件的19个致命安全漏洞
  • ISBN 9787302138044
  • 定价 38元
  • 装帧 平装

底额本信息

  图书详细信息

  ISBN:9787302138044

  定价:38元

  印次:1-1

  装帧:平装

  印刷日期:2006-11-3

书简介

  该书采用理论和实践相结合的方式,对于每个漏洞都给出了详细的描述、产生的原理、查找的方法、弥补的措施等培体权至最内容,同时,对于每个漏洞,作者还精选了系统中实际出现的例子加以说明,使其更直观,令读者印象响械娘星械更为深刻。另外,在弥补措施中,作者结合多种不同的语言给出具体的代码弥补方案,从而更增强了实用性。

目录

来自  第1章 缓冲区溢 1

  1.1 漏洞概述 1

  1.2 受影响的编程360百科语言 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 漏洞示例 10

  1单雷规在征东植凯代第.7.1 CVE-1999-0042 10

  1.7.2 CVE-2000-0389

  - CVE-2000-0392 10

  1.7.3 CVE-2002-0842、

  CVE-2003满龙单维云-0095、

  CAN-2003-0096 11

  1.7.4 CAN-2003-0352 11

  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.1 栈保护 14

  1.9.2 不可执行的栈和堆 14

  1.10 其他资源 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 漏洞示例 22

  2.7.1 CVE-2000-0573 22

  2.7.2 CVE-200黄头部洲渐买节迫约0-0844 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 受漏洞影响的C# 31

  3.3.3 受漏洞影响的Visual Basic里销找燃继贵已鱼击和Visual Bas八衡于决怎移文践围ic.net 32

  3.3.4 受漏洞影响的Java 33

  3.3.5 受漏洞影响的Perl 34

  3.4 查找漏洞模式 35

  3.5 在代码审查中查药玉支小配燃缺掌住找漏洞 35

  3.5.例续远心回径铁积1 C/C++ 35

  3.5.2 C# 37

  3.5.3 Java 37

  3.5.4 Visual Basic和Visual

  Basic.NET 38

  3.5.5 Perl 38

  3.6 发现该漏洞的测试技巧 38

  3.7 漏洞示例 38

  3.7.1 在Windows脚本引擎中

  存在的漏洞况次半属输假可以导致

  任意代码执行 38

  3.7.2 在SOAPParameter的对象

  构造函数中存在整数溢出 39

  3.7.3 在HTR块编码中存在的

  堆溢出可以导致Web

  服务器遭到入侵 39

  3.8 弥补措施 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 受漏洞影响的C# 44

  4.3.2 受漏洞影响的PHP 45

  4.3.3 受漏洞影响的Perl/CGI 46

  4.3.4 受漏洞影响的Java

  和JDBC 46

  4.3.5 受漏洞影响的SQL 47

  4.3.6 相关漏洞 48

  4.4 查找漏洞模式 49

  4.5 在代码审查中查找该漏洞 49

  4.6 发现该漏洞的测试技巧 50

  4.7 漏洞示例 52

  4.7.1 CAN-2004-348 52

  4.7.2 CAN-2002-0554 52

  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-1187 64

  5.7.2 CAN-2002-0652 64

  5.8 弥补措施 65

  5.8.1 数据验证 65

  5.8.2 当检查失败时 67

  5.9 其他防御措施 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.3 曲解了错误信息 71

  6.3.4 使用了无用的错误值 71

  6.3.5 处理了错误的异常 71

  6.3.6 处理所有的异常 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及Java 73

  6.3.11 相关漏洞 74

  6.4 查找漏洞模式 74

  6.5 在代码审查中查找该漏洞 74

  6.6 发现该漏洞的测试技巧 75

  6.7 漏洞示例 75

  6.8 弥补措施 76

  6.8.1 C/C++弥补措施 76

  6.8.2 C#、VB.NET和Java

  弥补措施 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 受漏洞影响的ASP 81

  7.3.3 受漏洞影响的

  ASP.NET表单 81

  7.3.4 受漏洞影响的JSP 81

  7.3.5 受漏洞影响的PHP 81

  7.3.6 受漏洞影响的使用

  Perl的CGI程序 82

  7.3.7 受漏洞影响的mod_perl 82

  7.4 查找漏洞模式 82

  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-0840 85

  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.5 PHP弥补措施 89

  7.8.6 CGI弥补措施 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.6 发现该漏洞的测试技巧 99

  8.7 漏洞示例 99

  8.7.1 TCP/IP 100

  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.1 Magic URL 106

  9.3.2 隐藏表单字段 106

  9.3.3 相关漏洞 106

  9.4 查找漏洞模式 107

  9.5 在代码审查中查找该漏洞 107

  9.6 发现该漏洞的测试技巧 108

  9.7 漏洞示例 109

  9.7.1 CAN-2000-1001 109

  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.9 其他防御措施 114

  9.10 其他资源 114

  9.11 本章总结 114

  第10章 未能正确使用SSL和TLS 115

  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.7.3 Stunnel SSL代理 122

  10.8 弥补措施 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章 使用基于弱口令的系统 131

  11.1 漏洞概述 131

  11.2 受影响的编程语言 131

  11.3 漏洞详细解释 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-1505 136

  11.7.2 CVE-2005-0432 137

  11.7.3 TENEX漏洞 137

  11.7.4 Paris Hilton劫持 138

  11.8 弥补措施 138

  11.8.1 多方式认证 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章 未能安全地存储和保护数据 147

  12.1 漏洞概述 147

  12.2 受影响的编程语言 147

  12.3 漏洞详细解释 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-0100 155

  12.7.2 CAN-2002-1590 155

  12.7.3 CVE-1999-0886 155

  12.7.4 CAN-2004-0311 156

  12.7.5 CAN-2004-0391 156

  12.8 弥补措施 156

  12.8.1 使用操作系统的

  安全技术 157

  12.8.2 C/C++ Windows 2000以

  及更新版本的弥补措施 157

  12.8.3 ASP.NET 1.1以及更新

  版本的弥补措施 159

  12.8.4 C# .NET Framework 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章 信息泄漏 167

  13.1 漏洞概述 167

  13.2 受影响的编程语言 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.2 CAN-2005-1411 176

  13.7.3 CAN-2005-1133 176

  13.8 弥补措施 177

  13.8.1 C#(以及其他编程语言)

  弥补措施 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.2 受漏洞影响的C/C++ 183

  14.3.3 受漏洞影响的Perl 183

  14.3.4 受漏洞影响的Python 183

  14.3.5 相关漏洞 184

  14.4 查找漏洞模式 184

  14.5 在代码审查中查找该漏洞 184

  14.6 发现该漏洞的测试技巧 185

  14.7 漏洞示例 186

  14.7.1 CAN-2005-0004 186

  14.7.2 CAN-2005-0799 186

  14.7.3 CAN-2004-0452和

  CAN-2004-0448 186

  14.7.4 CVE-2004-0115

  Microsoft的Mac

  版Virtual PC 186

  14.8 弥补措施 187

  14.8.1 Perl弥补措施 187

  14.8.2 *nix上C/C++的

  弥补措施 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.1 受漏洞影响的应用程序 194

  15.3.2 相关漏洞 194

  15.4 查找漏洞模式 195

  15.5 在代码审查中查找该漏洞 195

  15.6 发现该漏洞的测试技巧 195

  15.7 漏洞示例 196

  15.7.1 CVE-2002-0676 196

  15.7.2 CVE-1999-0024 196

  15.8 弥补措施 197

  15.9 其他资源 198

  15.10 本章总结 198

  第16章 竞争条件 199

  16.1 漏洞概述 199

  16.2 受影响的编程语言 199

  16.3 漏洞详细解释 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-1349 204

  16.7.2 CAN-2003-1073 204

  16.7.3 CVE-2000-0849 204

  16.8 弥补措施 205

  16.9 其他防御措施 206

  16.10 其他资源 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-0155 212

  17.8 弥补措施 213

  17.9 其他防御措施 213

  17.10 其他资源 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.3.4 相关漏洞 218

  18.4 查找漏洞模式 218

  18.5 在代码审查中查找该漏洞 218

  18.5.1 什么时候应该

  使用随机数 218

  18.5.2 查找使用PRNG

  的地方 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 Windows 221

  18.8.2 .NET代码 222

  18.8.3 UNIX 222

  18.8.4 Java 223

  18.8.5 重放数字流 223

  18.9 其他防御措施 224

  18.10 其他资源 224

  18.11 本章总结 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.6 发现该漏洞的测试技巧 228

  19.7 漏洞示例 228

  19.7.1 SSL/TLS证书认证 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

转载请注明出处累积网 » 一个都不能有―软件的19个致命安全漏洞

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com