搜索


会员资源切换至【手机版】

切换本帖至【手机版】


开启左侧

软件安全的24宗罪-编程缺陷与修复之道(24 Deadly Sins of Software Security: Programming Flaws and H

[复制链接]
发表于 2021-8-23 19:51:31 | 显示全部楼层 |阅读模式
游客,本帖隐藏的内容需要积分高于 1 才可浏览,您当前积分为 0


资源信息:



中文名


: 软件安全的24宗罪-编程缺陷与修复之道


原名


: 24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them


作者


: Michael Howard David LeBlanc John Viega


译者


: 董艳 包战 程文俊


图书分类


: 网络


资源格式


: PDF


版本


: 扫描版


出版社


: 清华大学出版社


书号


: 9787302226345


发行时间


: 2010年6月18日


地区


: 大陆


语言


: 简体中文


概述


:




内容介绍:


  软件安全是一个不断变化的主题,不仅不断出现新的漏洞类型,而且出现了漏洞的各种变体.本书总结了目前最危险的24个安全漏洞,给出了丰富的漏洞示例,并且提供了相应的修复措施。    各种web应用程序漏洞及修复措施    各种实现漏洞及修复措施    各种加密漏洞及修复措施    各种联网漏洞及修复措施


内容截图:





网盘下载



我的图书馆1



我的图书馆2



(长期更新各类图书)



目录


: 第ⅰ部分 web应用程序漏洞 第1章 sql注入 3 1.1 漏洞概述 3 1.2 cwe参考 4 1.3 受影响的编程语言 5 1.4 漏洞详述 5 1.4.1 关于linq的注意事项 5 1.4.2 受漏洞影响的c# 5 1.4.3 受漏洞影响的php 6 1.4.4 受漏洞影响的perl/cgi 7 1.4.5 受漏洞影响的python 7 1.4.6 受漏洞影响的ruby on rails 8 1.4.7 受漏洞影响的java和jdbc 8 1.4.8 受漏洞影响的c/c++ 9 1.4.9 受漏洞影响的sql 10 1.4.10 相关漏洞 11 1.5 查找漏洞模式 11 1.6 在代码审查期间查找该漏洞 12 1.7 发现该漏洞的测试技巧 12 1.8 漏洞示例 14 .1.8.1 cve-2006-4953 15 1.8.2 cve-2006-4592 16 1.9 弥补措施 16 1.9.1 验证所有的输入 16 1.9.2 使用prepared语句构造sql语句 16 1.9.3 c#弥补措施 17 1.9.4 php 5.0 以及mysql 1.1或者以后版本的弥补措施 17 1.9.5 perl/cgi弥补措施 18 1.9.6 python弥补措施 19 1.9.7 ruby on rails弥补措施 19 1.9.8 使用jdbc的java弥补措施 19 1.9.9 coldfusion弥补措施 20 1.9.10 sql弥补措施 20 1.10 其他防御措施 22 1.10.1 加密敏感数据、pii数据或机密数据 22 1.10.2 使用urlscan 22 1.11 其他资源 22 1.12 本章小结 24 第2章 与web服务器相关的漏洞(xss、xsrf和响应拆分) 25 2.1 漏洞概述 25 2.2 cwe参考 26 2.3 受影响的编程语言 26 2.4 漏洞详述 26 2.4.1 基于dom的xss或类型0 26 2.4.2 反射xss,非持续xss或类型1 27 2.4.3 存储xss,持续xss或类型2 28 2.4.4 http响应拆分 29 2.4.5 伪造跨站点请求 31 2.4.6 受漏洞影响的ruby on rails(xss) 32 2.4.7 受漏洞影响的ruby on rails(响应拆分) 32 2.4.8 受漏洞影响的使用python编写的cgi应用程序(xss) 32 2.4.9 受漏洞影响的使用python编写的cgi应用程序(响应拆分) 32 2.4.10 受漏洞影响的coldfusion(xss) 33 2.4.11 受漏洞影响的coldfusion(响应拆分) 33 2.4.12 受漏洞影响的c/c++ isapi(xss) 33 2.4.13 受漏洞影响的c/c++ isapi(响应拆分) 33 2.4.14 受漏洞影响的asp(xss) 34 2.4.15 受漏洞影响的asp(响应拆分) 34 2.4.16 受漏洞影响的asp.net(xss) 34 2.4.17 受漏洞影响的asp.net(响应拆分) 34 2.4.18 受漏洞影响的jsp(xss) 34 2.4.19 受漏洞影响的jsp(响应拆分) 35 2.4.20 受漏洞影响的php(xss) 35 2.4.21 受漏洞影响的php(响应拆分) 35 2.4.22 受漏洞影响的使用perl的cgi (xss) 35 2.4.23 受漏洞影响的mod_perl(xss) 35 2.4.24 受漏洞影响的mod_perl(响应拆分) 36 2.4.25 受漏洞影响的http请求(xsrf) 36 2.5 查找漏洞模式 36 2.6 在代码审查期间查找xss漏洞 36 2.7 发现该漏洞的测试技巧 38 2.8 漏洞示例 39 2.8.1 cve-2003-0712 microsoft exchange 5.5 outlook web access xss 39 2.8.2 cve-2004-0203 microsoft exchange 5.5 outlook web access响应拆分 39 2.8.3 cve-2005-1674 help center live(xss和xsrf) 40 2.9 弥补措施(xss和响应拆分) 40 2.9.1 ruby on rails弥补措施(xss) 40 2.9.2 isapi c/c++弥补措施(xss) 40 2.9.3 python弥补措施(xss) 41 2.9.4 asp弥补措施(xss) 42 2.9.5 asp.net web表单弥补措施(xss) 42 2.9.6 asp.net web表单弥补措施(rs) 43 2.9.7 jsp弥补措施 43 2.9.8 php弥补措施(xss) 45 2.9.9 cgi弥补措施(xss) 45 2.9.10 mod_perl弥补措施(xss) 46 2.10 弥补步骤(xsrf) 47 2.10.1 关于超时的注意事项 47 2.10.2 xsrf和post与get的注意事项 47 2.10.3 ruby on rails弥补措施(xsrf) 48 2.10.4 asp.net web表单弥补措施(xsrf) 48 2.10.5 html编码的非严格用法 48 2.11 其他防御措施 49 2.11.1 使用httponly cookie 49 2.11.2 对标记的属性使用双引号 50 2.11.3 考虑使用asp.net的viewstateuserkey 50 2.11.4 考虑使用asp.net的validaterequest 50 2.11.5 使用asp.net安全运行时引擎的安全性能 51 2.11.6 考虑使用owasp csrfguard 51 2.11.7 使用apache::taintrequest 51 2.11.8 使用urlscan 51 2.11.9 设置默认的字符集 51 2.12 其他资源 52 2.13 本章小结 53 第3章 与web客户端相关的漏洞(xss) 55 3.1 漏洞概述 55 3.2 cwe资源 56 3.3 受影响的编程语言 56 3.4 漏洞详述 56 3.4.1 有漏洞的gadget的秘密 57 3.4.2 受漏洞影响的javascript和html 58 3.5 查找漏洞模式 58 3.6 在代码审查期间查找该漏洞 59 3.7 发现该漏洞的测试技巧 59 3.8 漏洞示例 60 3.8.1 microsoft isa server xss cve-2003-0526 60 3.8.2 windows vista sidebar cve-2007-3033和cve-2007-3032 60 3.8.3 yahoo! instant messenger activex控件cve-2007-4515 61 3.9 弥补措施 61 3.9.1 不要相信输入 61 3.9.2 用更安全的结构替代不安全的结构 62 3.10 其他弥补措施 63 3.11 其他资源 63 3.12 本章小结 63 第4章 使用magic url、可预计的cookie及隐藏表单字段 65 4.1 漏洞概述 65 4.2 cwe参考 65 4.3 受影响的编程语言 65 4.4 漏洞详述 66 4.4.1 magic url 66 4.4.2 可预计的cookie 66 4.4.3 隐藏的表单字段 67 4.4.4 相关漏洞 67 4.5 查找漏洞模式 67 4.6 在代码审查期间查找该漏洞 67 4.7 发现该漏洞的测试技巧 68 4.8 漏洞示例 69 4.9 弥补措施 70 4.9.1 攻击者浏览数据 70 4.9.2 攻击者重放数据 70 4.9.3 攻击者预测数据 71 4.9.4 攻击者更改数据 72 4.10 其他防御措施 73 4.11 其他资源 73 4.12 本章小结 73 第ⅱ部分 实 现 漏 洞 第5章 缓冲区溢出 77 5.1 漏洞概述 77 5.2 cwe参考 78 5.3 受影响的编程语言 78 5.4 漏洞详述 79 5.4.1 64位的含义 82 5.4.2 受漏洞影响的c/c++ 82 5.4.3 相关漏洞 84 5.5 查找漏洞模式 85 5.6 在代码审查期间查找该漏洞 85 5.7 发现该漏洞的测试技巧 85 5.8 漏洞示例 86 5.8.1 cve-1999-0042 86 5.8.2 cve-2000-0389~cve-2000-0392 87 5.8.3 cve-2002-0842、cve-2003-0095、can-2003-0096 87 5.8.4 can-2003-0352 88 5.9 弥补措施 88 5.9.1 替换危险的字符串处理函数 88 5.9.2 审计分配操作 89 5.9.3 检查循环和数组访问 89 5.9.4 使用c++字符串来替换c字符串缓冲区 89 5.9.5 使用stl容器替代静态数组 89 5.9.6 使用分析工具 89 5.10 其他防御措施 90 5.10.1 栈保护 90 5.10.2 不可执行的栈和堆 90 5.11 其他资源 91 5.12 本章小结 92 第6章 格式化字符串问题 93 6.1 漏洞概述 93 6.2 cwe参考 94 6.3 受影响的编程语言 94 6.4 漏洞详述 94 6.4.1 受漏洞影响的c/c++ 96 6.4.2 相关漏洞 97 6.5 查找漏洞模式 97 6.6 在代码审查期间查找该漏洞 97 6.7 发现该漏洞的测试技巧 97 6.8 漏洞示例 98 6.8.1 cve-2000-0573 98 6.8.2 cve-2000-0844 98 6.9 弥补措施 98 6.10 其他防御措施 99 6.11 其他资源 99 6.12 本章小结 100 第7章 整数溢出 101 7.1 漏洞概述 101 7.2 cwe参考 101 7.3 受影响的编程语言 102 7.4 漏洞详述 102 7.4.1 受漏洞影响的c和c++ 102 7.4.2 受漏洞影响的c# 108 7.4.3 受漏洞影响的visual basic 和visual basic .net 110 7.4.4 受漏洞影响的java 110 7.4.5 受漏洞影响的perl 111 7.5 查找漏洞模式 112 7.6 在代码审查期间查找漏洞 112 7.6.1 c/c++ 112 7.6.2 c# 114 7.6.3 java 114 7.6.4 visual basic和visual basic .net 114 7.6.5 perl 115 7.7 发现该漏洞的测试技巧 115 7.8 漏洞示例 115 7.8.1 在apple mac os x的searchkit api中的多个整数溢出 115 7.8.2 google android sdk中的整数溢出 115 7.8.3 在windows脚本引擎中存在的漏洞可以导致任意代码执行 116 7.8.4 htr块编码中的堆溢出可以导致web服务器遭到入侵 116 7.9 弥补措施 116 7.9.1 执行数学计算 116 7.9.2 不使用技巧 117 7.9.3 编写类型转换 118 7.9.4 使用safeint 119 7.10 其他防御措施 120 7.11 其他资源 120 7.12 本章小结 120 第8章 c++灾难 121 8.1 漏洞概述 121 8.2 cwe参考 121 8.3 受影响的编程语言 122 8.4 漏洞详述 122 8.4.1 有漏洞的delete调用 122 8.4.2 有漏洞的复制构造函数 123 8.4.3 有漏洞的构造函数 124 8.4.4 有漏洞的没有重新初始化 124 8.4.5 忽略stl 125 8.4.6 有漏洞的指针初始化 125 8.5 查找漏洞模式 126 8.6 在代码审查期间查找该漏洞 126 8.7 发现该漏洞的测试技巧 127 8.8 漏洞示例 127 8.9 弥补措施 127 8.9.1 new和delete不匹配的弥补措施 127 8.9.2 复制构造函数的弥补措施 127 8.9.3 构造函数初始化的弥补措施 128 8.9.4 重新初始化的弥补措施 129 8.9.5 stl弥补措施 129 8.9.6 未初始化指针的弥补措施 129 8.10 其他防御措施 129 8.11 其他资源 130 8.12 本章小结 130 第9章 捕获异常 131 9.1 漏洞概述 131 9.2 cwe参考 131 9.3 受影响的编程语言 131 9.4 漏洞详述 131 9.4.1 有漏洞的c++异常 132 9.4.2 有漏洞的结构化异常处理(seh) 134 9.4.3 有漏洞的信号处理 136 9.4.4 有漏洞的c#、vb.net和java 136 9.4.5 有漏洞的ruby 137 9.5 查找漏洞模式 137 9.6 在代码审查期间查找该漏洞 137 9.7 查找漏洞的测试技术 138 9.8 漏洞示例 139 9.9 弥补措施 139 9.9.1 c++弥补措施 139 9.9.2 seh弥补措施 139 9.9.3 信号处理程序的弥补措施 140 9.10 其他资源 140 9.11 本章小结 140 第10章 命令注入 141 10.1 漏洞概述 141 10.2 cwe参考 141 10.3 受影响的编程语言 142 10.4 漏洞详述 142 10.5 查找漏洞模式 144 10.6 在代码审查期间查找该漏洞 144 10.7 发现该漏洞的测试技巧 145 10.8 漏洞示例 145 10.8.1 can-2001-1187 146 10.8.2 can-2002-0652 146 10.9 弥补措施 146 10.9.1 数据验证 147 10.9.2 当检查失败时 149 10.10 其他防御措施 149 10.11 其他资源 149 10.12 本章小结 150 第11章 未能正确处理错误 151 11.1 漏洞概述 151 11.2 cwe参考 151 11.3 受影响的编程语言 151 11.4 漏洞详细解释 152 11.4.1 产生太多的信息 152 11.4.2 忽略了错误 152 11.4.3 曲解了错误 153 11.4.4 使用了无用的返回值 153 11.4.5 使用了无错误的返回值 153 11.4.6 受漏洞影响的c/c++ 153 11.4.7 windows上受漏洞影响的c/c++ 154 11.4.8 相关漏洞 155 11.5 查找漏洞模式 155 11.6 在代码审查期间查找该漏洞 155 11.7 发现该漏洞的测试技巧 155 11.8 漏洞示例 155 11.8.1 cve-2007-3798 tcpdump print-bgp.c缓冲区溢出漏洞 155 11.8.2 can-2004-0077 linux内核do_mremap 155 11.9 弥补措施 156 11.10 其他资源 156 11.11 本章小结 157 第12章 信息泄漏 159 12.1 漏洞概述 159 12.2 cwe参考 160 12.3 受影响的编程语言 160 12.4 漏洞详述 160 12.4.1 旁路 160 12.4.2 tmi:太多信息 161 12.4.3 信息流安全模型 163 12.4.4 受漏洞影响的c#(以及其他编程语言) 164 12.4.5 相关漏洞 165 12.5 查找漏洞模式 165 12.6 在代码审查期间查找该漏洞 165 12.7 发现该漏洞的测试技巧 166 12.8 漏洞示例 166 12.8.1 cve-2008-4638 166 12.8.2 cve-2005-1133 167 12.9 弥补措施 167 12.9.1 c#(以及其他编程语言)的弥补措施 168 12.9.2 本地网络的弥补措施 168 12.10 其他防御措施 168 12.11 其他资源 169 12.12 本章小结 170 第13章 竞态条件 171 13.1 漏洞概述 171 13.2 cwe参考 171 13.3 受影响的编程语言 172 13.4 漏洞详述 172 13.4.1 受漏洞影响的代码 173 13.4.2 相关漏洞 174 13.5 查找漏洞模式 174 13.6 在代码审查期间查找该漏洞 174 13.7 发现该漏洞的测试技巧 175 13.8 漏洞示例 176 13.8.1 cve-2008-0379 176 13.8.2 cve-2008-2958 176 13.8.3 cve-2001-1349 176 13.8.4 can-2003-1073 176 13.8.5 cve-2000-0849 177 13.9 弥补措施 177 13.10 其他防御措施 179 13.11 其他资源 179 13.12 本章小结 179 第14章 不良可用性 181 14.1 漏洞概述 181 14.2 cwe参考 181 14.3 受影响的编程语言 182 14.4 漏洞详述 182 14.4.1 谁是您的用户 182 14.4.2 雷区:向用户呈现安全信息 183 14.4.3 相关漏洞 183 14.5 查找漏洞模式 183 14.6 在代码审查期间查找该漏洞 184 14.7 发现该漏洞的测试技巧 184 14.8 漏洞示例 184 14.8.1 ssl/tls证书认证 185 14.8.2 internet explorer 4.0根证书安装 185 14.9 弥补措施 186 14.9.1 简化ui以便用户参与 186 14.9.2 为用户做出安全决策 186 14.9.3 易于有选择地放宽安全策略 187 14.9.4 明确指出后果 188 14.9.5 提供可操作性 189 14.9.6 提供集中管理 189 14.10 其他资源 190 14.11 本章小结 191 第15章 不易更新 193 15.1 漏洞概述 193 15.2 cwe参考 193 15.3 受影响的编程语言 193 15.4 漏洞详述 194 15.4.1 有漏洞的附加软件安装 194 15.4.2 有漏洞的访问控制 194 15.4.3 有漏洞的提示疲劳 194 15.4.4 有漏洞的无知 194 15.4.5 有漏洞的无通知更新 194 15.4.6 有漏洞的一次更新一个系统 195 15.4.7 有漏洞的强制重启动 195 15.4.8 有漏洞的难以打补丁 195 15.4.9 有漏洞的缺乏恢复计划 195 15.4.10 有漏洞的信任dns 195 15.4.11 有漏洞的信任补丁服务器 195 15.4.12 有漏洞的更新签名 195 15.4.13 有漏洞的打开更新包 196 15.4.14 有漏洞的用户应用程序的更新 196 15.5 查找漏洞模式 196 15.6 在代码审查期间查找漏洞 197 15.7 发现漏洞的测试技巧 197 15.8 漏洞示例 197 15.8.1 苹果公司的quicktime更新 197 15.8.2 microsoft sql server 2000补丁 197 15.8.3 谷歌的chrome浏览器 197 15.9 弥补措施 198 15.9.1 安装附带软件的弥补措施 198 15.9.2 访问控制的弥补措施 198 15.9.3 提示疲劳的弥补措施 198 15.9.4 用户无知的弥补措施 198 15.9.5 无通知更新的弥补措施 199 15.9.6 一次更新一个系统的弥补措施 199 15.9.7 强制重启动的弥补措施 199 15.9.8 难以打补丁的弥补措施 199 15.9.9 缺乏恢复计划的弥补措施 200 15.9.10 轻信dns的弥补措施 200 15.9.11 轻信补丁服务器的弥补措施 200 15.9.12 更新签名的弥补措施 200 15.9.13 打开更新包的弥补措施 201 15.9.14 用户应用程序更新的弥补措施 201 15.10 其他防御措施 201 15.11 其他资源 202 15.12 本章小结 202 第16章 执行代码的权限过大 203 16.1 漏洞概述 203 16.2 cwe参考 203 16.3 受影响的编程语言 203 16.4 漏洞详述 204 16.5 查找漏洞模式 205 16.6 在代码审查期间查找漏洞 205 16.7 发现漏洞的测试技巧 205 16.8 漏洞示例 206 16.9 弥补措施 206 16.9.1 windows、c和c++ 206 16.9.2 linux、bsd和mac os x 208 16.9.3 .net代码 209 16.10 其他防御措施 209 16.11 其他资源 209 16.12 本章小结 210 第17章 未能安全地存储数据 211 17.1 漏洞概述 211 17.2 cwe参考 211 17.3 受影响的编程语言 211 17.4 漏洞详述 212 17.4.1 在存储的数据上采用脆弱的访问控制 212 17.4.2 受漏洞影响的访问控制 213 17.4.3 已存储数据的弱加密 215 17.4.4 相关漏洞 215 17.5 查找漏洞模式 215 17.6 在代码审查期间查找漏洞 216 17.7 发现该漏洞的测试技巧 216 17.8 漏洞示例 218 17.8.1 cve-2000-0100 218 17.8.2 cve-2005-1411 218 17.8.3 cve-2004-0907 218 17.9 弥补措施 218 17.9.1 windows上c++的弥补措施 219 17.9.2 windows上c#的弥补措施 220 17.9.3 c/c++的弥补措施(gnome) 220 17.10 其他防御措施 221 17.11 其他资源 221 17.12 本章小结 221 第18章 移动代码的漏洞 223 18.1 漏洞概述 223 18.2 cwe参考 224 18.3 受影响的编程语言 225 18.4 漏洞详述 225 18.4.1 有漏洞的移动代码 225 18.4.2 有漏洞的移动代码容器 225 18.4.3 相关的漏洞 225 18.5 查找漏洞模式 226 18.6 在代码审查期间查找漏洞 226 18.7 发现该漏洞的测试技巧 227 18.8 漏洞示例 227 18.8.1 cve-2006-2198 227 18.8.2 cve-2008-1472 227 18.8.3 cve-2008-5697 227 18.9 弥补措施 228 18.9.1 移动代码容器的弥补措施 228 18.9.2 移动代码的弥补措施 229 18.10 其他防御措施 229 18.11 其他资源 229 18.12 本章小结 230 第ⅲ部分 加 密 漏 洞 第19章 使用基于弱密码的系统 233 19.1 漏洞概述 233 19.2 cwe参考 233 19.3 受影响的编程语言 234 19.4 漏洞详述 234 19.4.1 密码泄露 234 19.4.2 允许使用弱密码 235 19.4.3 密码迭代 235 19.4.4 不要求改变密码 235 19.4.5 默认密码 235 19.4.6 重放攻击 235 19.4.7 存储密码而不是密码验证器 236 19.4.8 对密码验证器的暴力攻击 236 19.4.9 泄露某个失败源自不正确的用户或密码 237 19.4.10 在线攻击 237 19.4.11 返回遗忘的密码 237 19.4.12 相关漏洞 237 19.5 查找漏洞模式 238 19.5.1 密码泄露 238 19.5.2 允许弱密码 238 19.5.3 迭代密码 238 19.5.4 从不改变密码 238 19.5.5 默认密码 238 19.5.6 重放攻击 238 19.5.7 对密码验证器进行暴力攻击 239 19.5.8 存储密码而不是密码验证器 239 19.5.9 在线攻击 239 19.5.10 返回遗忘的密码 239 19.6 在代码审查期间查找该漏洞 239 19.7 发现该漏洞的测试技巧 240 19.7.1 密码泄露 240 19.7.2 重放攻击 240 19.7.3 暴力攻击 240 19.8 漏洞示例 241 19.8.1 zombies ahead 241 19.8.2 要修改的microsoft office密码 241 19.8.3 adobe acrobat加密 241 19.8.4 wu-ftpd核心转储 242 19.8.5 cve-2005-1505 242 19.8.6 cve-2005-0432 242 19.8.7 tenex漏洞 242 19.8.8 sarah palin雅虎电子邮件入侵 243 19.9 弥补措施 243 19.9.1 密码泄露的弥补措施 243 19.9.2 弱密码的弥补措施 243 19.9.3 迭代密码的弥补措施 243 19.9.4 密码改变的弥补措施 244 19.9.5 默认密码的弥补措施 244 19.9.6 重放攻击的弥补措施 244 19.9.7 密码验证器的弥补措施 244 19.9.8 在线暴力攻击的弥补措施 245 19.9.9 登录信息泄露的弥补措施 246 19.9.10 忘记密码的弥补措施 246 19.10 其他防御措施 246 19.11 其他资源 246 19.12 本章小结 247 第20章 弱随机数 249 20.1 漏洞概述 249 20.2 cwe参考 249 20.3 受影响的编程语言 250 20.4 漏洞详述 250 20.4.1 受漏洞影响的非密码生成器 250 20.4.2 受漏洞影响的密码生成器 251 20.4.3 受漏洞影响的真随机数生成器 251 20.4.4 相关漏洞 252 20.5 查找漏洞模式 252 20.6 在代码审查期间查找该漏洞 252 20.6.1 什么时候应该使用随机数 252 20.6.2 查找使用prng的地方 253 20.6.3 判断crng是否正确地播种 253 20.7 发现该漏洞的测试技巧 254 20.8 漏洞示例 254 20.8.1 tcp/ip序列号 254 20.8.2 odf文档加密标准 255 20.8.3 cve-2008-0166 debian“随机”密钥的生成 255 20.8.4 netscape浏览器 256 20.9 弥补措施 256 20.9.1 windows、c和c++ 256 20.9.2 带tpm支持的windows 257 20.9.3 .net代码 258 20.9.4 unix 258 20.9.5 java 259 20.9.6 重放数字流 259 20.10 其他防御措施 260 20.11 其他资源 260 20.12 本章小结 261 第21章 使用错误的密码技术 263 21.1 漏洞概述 263 21.2 cwe参考 264 21.3 受影响的编程语言 264 21.4 漏洞详述 264 21.4.1 使用自制的加密算法 264 21.4.2 在高级协议可用时,从低级算法中创建一个协议 264 21.4.3 使用脆弱的密码基元 265 21.4.4 不正确地使用密码基元 265 21.4.5 使用错误的密码基元 267 21.4.6 使用错误的通信协议 267 21.4.7 未使用salt 267 21.4.8 未使用随机iv 268 21.4.9 使用脆弱的密钥派生函数 268 21.4.10 未提供完整性检查 268 21.4.11 不使用敏捷加密 268 21.4.12 相关的漏洞 269 21.5 查找漏洞模式 269 21.6 在代码审查期间查找漏洞 269 21.6.1 使用自制的加密算法(vb.net和c++) 269 21.6.2 在高级协议可用时,从低级算法中创建一个协议 270 21.6.3 使用脆弱的密码基元(c#和c++) 270 21.6.4 不正确地使用密码基元(ruby、c#和c++) 271 21.6.5 使用错误的密码基元 271 21.6.6 使用错误的通信协议 271 21.7 发现该漏洞的测试技巧 272 21.8 漏洞示例 272 21.8.1 数字证书和脆弱的散列 272 21.8.2 microsoft office xor困惑 272 21.8.3 adobe acrobat和microsoft office的脆弱kdf 272 21.9 弥补措施 273 21.9.1 使用自制加密算法的弥补措施 273 21.9.2 在高级协议可用时,从低级算法中创建一个协议的弥补措施 273 21.9.3 使用脆弱的密码基元的弥补措施 273 21.9.4 不正确地使用密码基元的弥补措施 274 21.9.5 使用错误的密码基元的弥补措施 275 21.9.6 未使用salt的弥补措施 275 21.9.7 未使用随机iv的弥补措施 275 21.9.8 使用脆弱的密钥派生函数的弥补措施 275 21.9.9 未提供完整性检查的弥补措施 276 21.9.10 不使用敏捷加密的弥补措施 276 21.9.11 使用错误通信协议的弥补措施 277 21.10 其他防御措施 277 21.11 其他资源 277 21.12 本章小结 277 第iv部分 联 网 漏 洞 第22章 未能保护好网络通信 281 22.1 漏洞概述 281 22.2 cwe参考 282 22.3 受影响的编程语言 282 22.4 漏洞详述 282 22.5 查找漏洞模式 285 22.6 在代码审查期间查找漏洞 285 22.7 发现该漏洞的测试技巧 285 22.8 漏洞示例 286 22.8.1 tcp/ip 286 22.8.2 电子邮件协议 286 22.8.3 电子商务 286 22.9 弥补措施 287 22.10 其他防御措施 287 22.11 其他资源 287 22.12 本章总结 288 第23章 未能正确使用pki,尤其是ssl 289 23.1 漏洞概述 289 23.2 cwe参考 290 23.3 受影响的编程语言 290 23.4 漏洞详述 290 23.5 查找漏洞模式 291 23.6 在代码审查期间查找该漏洞 291 23.7 发现该漏洞的测试技巧 292 23.8 漏洞示例 293 23.8.1 cve-2007-4680 293 23.8.2 cve-2008-2420 293 23.9 弥补措施 294 23.10 其他防御措施 297 23.11 其他资源 297 23.12 本章小结 297 第24章 轻信网络域名解析 299 24.1 漏洞概述 299 24.2 cwe参考 299 24.3 受影响的编程语言 299 24.4 漏洞详述 300 24.4.1 受漏洞影响的应用程序 302 24.4.2 相关漏洞 303 24.5 查找漏洞模式 303 24.6 在代码审查期间查找该漏洞 303 24.7 发现该漏洞的测试技巧 304 24.8 漏洞示例 304 24.8.1 cve-2002-0676 304 24.8.2 cve-1999-0024 305 24.9 弥补措施 305 24.10 其他资源 306 24.11 本章小结 306

主题推广




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

随缘推荐

该版块暂无可用帖子

切换至【手机版】| 主站| Archiver|

JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!

|网站地图

GMT+8, 2026-3-25 04:53 , Processed in 0.909670 second(s), 124 queries .

 

快速回复 返回顶部 返回列表