您好,欢迎光临有路网!
安全漏洞追踪(安全技术大系)
QQ咨询:
有路璐璐:

安全漏洞追踪(安全技术大系)

  • 作者:(美国)(Gallagher.T.)盖弗 (美国)(Jeffries.B.)詹弗瑞斯 (美国)(La
  • 出版社:电子工业出版社
  • ISBN:9787121073717
  • 出版日期:2008年01月01日
  • 页数:508
  • 定价:¥80.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    这是一本针对**测试的书籍,同时也是一本十分适合信息**研究人员的**参考书。《**漏洞追踪》共20章,其中前3章讨论了**测试的基础,包括如何从攻击者的角度去思考测试方法,以及如何进行威胁建模和入口点查找。第4章至第19章则通过详细的示例与代码,分别深入地阐述了网络流量和内存数据的操控方法,包括缓冲区溢出、格式化字符串、HTML脚本、XML、规范化、权限、拒绝服务、托管代码、SQL注入和ActiveX再利用等**漏洞追踪方法,以及在二进制代码条件下查找**漏洞的逆向工程技术。第20章论述了合理报告**漏洞的程序,并提出了一个负责的**漏洞公开流程。*后,《**漏洞追踪》还提供了一个适于初学者的测**例列表。
    图书目录
    文章节选
    你��能想知道微软为什么要出版这样一本关于**测试的书,因为加强软件**是一件非常困难的事情。当然,微软已经遇到过相当多的软件**问题,因而有大量的经验供测试人员参考。在2002年可信计算计划被提出之前,我们就已经在微软工作了。自微软实施该计划以来,我们已经看到微软在处理**问题方面的重大改变。现在,**问题已经不仅仅是**专家的职责,已经成为了我们每一个人的责任。这本具有创见性的关于软件**测试的书,源于我们在微软的工作经验以及为开发出用户购买后能持续**可靠运行的软件而做出的努力。
    应用软件的**并不仅仅局限于使用**技术的功能特征,以及像加密和账户管理这样的功能特征。我们必须认真考虑一个产品的每个功能特征的**。鉴于此,在微软工作的每个项目管理人员、开发人员、测试人员和相关技术人员都有责任保证软件尽可能**。本书认为**是每个人的责任,并且**向测试人员提供用来发现软件功能**漏洞的信息,这些**漏洞都可能是难以发现的。
    本书没有阐述这些漏洞应该如何修补。其他的一些书,如Michael Howard和David LeBlanc所写的《Writing Secure Code》(微软出版社,2002年)是一本从编写代码的角度阐述如何修补和防止**漏洞的**参考书。
    微软因为发布了含有**缺陷的软件而经历了一些惨痛的教训,后来微软不得不通过**更新来修补这些缺陷。本书描述了现在许多软件中存在的**问题,并包含了一些已经带来损失的漏洞信息,以及我们在产品发布前自己发现的一些漏洞信息。我们希望你能从我们的经验中学到知识,从而在发布自己的软件时防止产生类似的**漏洞。
    在本书中,我们把能够被另外一名用户控制的数据称为“攻击者已控数据(Attacker Controlled Data)”。我们这么做,是要让你不仅意识到应用程序所操作的数据有可能来自攻击者,还应该树立攻击者的意识,认识到你也能控制这些数据。我们鼓励你不但要像攻击者那样带有恶意的想法去思考,而且在测试软件时还要扮演攻击者,攻击你自己的系统,以此来帮助公司发现软件的**漏洞。
    本书的目的就是为了促进你的测试工作,能够开发出更好的软件,而不是让你攻击其他人的软件,或者利用攻击者的恶意想法或技术去分析不属于你测试范围的软件。本书是一本为白帽黑客而写的书。
    软件**一直在快速地发展。未来我们将面临今天所不知道的危险攻击。但是无论如何,本书讨论的以攻击者的角度、采用攻击者的方法进行**测试的步骤,并不会发生太大的改变。
    目录
    第1章 **测试的一般方法 1
    1.1 **测试人员的不同类型 2
    1.2 一种**测试的方法 3
    1.2.1 深入理解测试的内容 4
    1.2.2 从攻击者的角度思考如何攻击目标 6
    1.2.3 攻击产品 8
    1.2.4 时刻关注新的攻击 8
    1.3 小结 9

    第2章 利用威胁模型进行**测试 10
    2.1 威胁建模 10
    2.2 测试人员如何对威胁模型分级 11
    2.3 数据流程图 12
    2.4 入口点和退出点的** 13
    2.5 识别威胁的技巧及常见威胁 14
    2.6 测试人员如何利用一个完整的威胁模型 16
    2.7 技术实现难以符合产品规范或威胁模型 19
    2.8 小结 20

    第3章 查找入口点 21
    3.1 查找入口点并划分等级 22
    3.2 常见入口点 23
    3.2.1 文件 23
    3.2.2 套接字(Socket) 27
    3.2.3 HTTP请求 29
    3.2.4 命名管道 32
    3.2.5 可插入协议处理程序 35
    3.2.6 恶意服务器响应 37
    3.2.7 程序化接口 38
    3.2.8 SQL 39
    3.2.9 注册表 39
    3.2.10 用户接口 41
    3.2.11 E-mail 42
    3.2.12 命令行参数 44
    3.2.13 环境变量 45
    3.3 小结 47

    第4章 成为恶意的客户端 48
    4.1 客户端/服务器交互 48
    4.1.1 发现服务器正常接收的请求 49
    4.1.2 操纵网络请求 51
    4.2 测试HTTP 55
    4.2.1 理解无状态协议 56
    4.2.2 接收输入的测试方法 56
    4.3 快速测试特定的网络请求 66
    4.4 测试技巧 68
    4.5 小结 69

    第5章 成为恶意的服务器 70
    5.1 理解客户端接收恶意服务器响应的常见方法 71
    5.2 SSL能否阻止恶意服务器的攻击 73
    5.3 操纵服务器响应 73
    5.4 恶意响应漏洞的例子 74
    5.5 错误认识:对攻击者来说创建恶意服务器非常困难 76
    5.6 理解降级(Downgrade)MITM攻击 77
    5.7 测试技巧 78
    5.8 小结 79

    第6章 欺骗 80
    6.1 掌握欺骗问题的重要性 80
    6.2 寻找欺骗问题 82
    6.3 常见欺骗案例 82
    6.3.1 IP地址欺骗 83
    6.3.2 MAC地址欺骗 84
    6.3.3 利用网络协议欺骗 85
    6.4 用户接口(User Interface,UI)欺骗 88
    6.4.1 重构对话框 88
    6.4.2 Z-Order欺骗 93
    6.4.3 让人误解的URL和文件名 94
    6.5 测试技巧 97
    6.6 小结 97

    第7章 信息泄露 98
    7.1 信息泄露问题 98
    7.2 定位信息泄露的常见区域 99
    7.2.1 文件泄露 99
    7.2.2 网络泄露 107
    7.3 识别重要的数据 111
    7.3.1 数据混淆 112
    7.3.2 隐含泄露 113
    7.4 小结 113

    第8章 缓冲区溢出及堆栈/堆操纵 114
    8.1 了解溢出的工作原理 117
    8.1.1 堆栈溢出 118
    8.1.2 整型溢出 121
    8.1.3 堆溢出 128
    8.1.4 其他攻击 129
    8.2 溢出测试:在哪里寻找(测试)用例 130
    8.2.1 网络 130
    8.2.2 文档与文件 131
    8.2.3 较高权限和较低权限用户之间的共享信息 131
    8.2.4 可编程接口 132
    8.3 黑盒(功能)测试 133
    8.3.1 确定期待的是什么数据 133
    8.3.2 使用你能识别的数据 134
    8.3.3 了解界限与边界 134
    8.3.4 保持全部数据的完整性 137
    8.3.5 改造正常数据使其溢出的策略 141
    8.3.6 测试首要行为和次要行为 143
    8.3.7 要查找什么 144
    8.3.8 运行时工具 156
    8.3.9 模糊测试 158
    8.4 白盒测试 159
    8.4.1 要查找的对象 160
    8.4.2 溢出的可用性 164
    8.4.3 Unicode数据 169
    8.4.4 已过滤的数据 170
    8.5 其他主题 170
    8.5.1 无代码执行的溢出也很严重 170
    8.5.2 /GS编译器开关 173
    8.6 测试技巧 175
    8.7 小结 176

    第9章 格式化字符串攻击 177
    9.1 什么是格式化字符串 178
    9.2 理解为什么格式化字符串存在问题 178
    9.2.1 剖析prinf调用 179
    9.2.2 堆栈解析错误 180
    9.2.3 内存覆盖 182
    9.3 格式化字符串**漏洞测试 183
    9.3.1 代码检查 183
    9.3.2 黑盒测试 184
    9.4 走查(Walkthrough):经历一个格式化字符串攻击过程 185
    9.4.1 寻找格式化字符串漏洞 185
    9.4.2 分析可利用性 186
    9.4.3 深度挖掘:围绕可利用性问题进行工作 189
    9.4.4 构建一个简单的负载 201
    9.5 测试技巧 208
    9.6 小结 209

    第10章 HTML脚本攻击 210
    10.1 理解针对服务器的反射跨站脚本攻击 211
    10.1.1 例子:一个搜索引擎中的反射XSS 212
    10.1.2 理解为什么XSS攻击是**相关的 214
    10.1.3 利用服务端的反射XSS漏洞 216
    10.1.4 POST也是可利用的 218
    10.2 理解针对服务器的持久性XSS攻击 219
    10.2.1 例子:在一个留言簿中的持久性XSS攻击 220
    10.2.2 利用针对服务器的持久性XSS攻击 221
    10.3 识别用于反射和持久性XSS攻击的数据 221
    10.4 程序员阻止攻击的常用方法 224
    10.5 理解针对本地文件的反射XSS攻击 227
    10.5.1 例子:本地文件中的反射XSS 228
    10.5.2 利用本地文件中的反射XSS漏洞 229
    10.5.3 理解为何本地XSS漏洞是一个问题 229
    10.5.4 利用本地XSS漏洞在受害者的机器上运行二进制文件 232
    10.5.5 HTML资源 233
    10.5.6 编译后的帮助文件 234
    10.5.7 在客户端脚本中查找XSS漏洞 236
    10.6 理解本地计算机区域中的脚本注入攻击 237
    10.6.1 例子:在Winamp播放列表中的脚本注入 237
    10.6.2 把非HTML文件当作HTML来解析 240
    10.7 程序员用于防止HTML脚本攻击的方法 243
    10.7.1 过滤器 243
    10.7.2 深入理解浏览器中的解析器 245
    10.7.3 Style中的注释 245
    10.7.4 ASP.NET内置的过滤器 247
    10.8 理解Internet Explorer如何减轻针对本地文件的XSS攻击 248
    10.8.1 从互联网到本地计算机区域的链接被阻止 248
    10.8.2 在默认情况下,脚本在本地计算机区域中是禁止运行的 248
    10.9 识别HTML脚本的脆弱性 250
    10.10 通过检查代码查找HTML脚本漏洞 250
    10.10.1 识别所有返回内容给Web浏览器或者文件系统的位置 251
    10.10.2 确定输出中是否包含攻击者提供的数据 251
    10.10.3 检查攻击者的数据是否进行了适当的验证或者编码 252
    10.10.4 ASP.NET自动对数据进行编码 253
    10.11 小结 254

    第11章 XML问题 255
    11.1 测试XML输入文件中的非XML**问题 255
    11.1.1 结构良好的XML 256
    11.1.2 有效的XML 257
    11.1.3 XML输入中包括非字母数字的数据 257
    11.2 测试特定的XML攻击 260
    11.2.1 实体(Entity) 260
    11.2.2 XML注入(XML Injection) 263
    11.2.3 大文件引用(Large File Reference) 266
    11.3 简单对象访问协议(Simple Object Access Protocol) 266
    11.4 测试技巧 271
    11.5 小结 271

    第12章 规范化问题 272
    12.1 理解规范化问题的重要性 272
    12.2 查找规范化问题 273
    12.3 基于文件的规范化问题 273
    12.3.1 目录遍历 274
    12.3.2 使文件扩展名检查失效 274
    12.3.3 导致规范化问题的其他常见错误 277
    12.4 基于Web的规范化问题 282
    12.4.1 编码问题 282
    12.4.2 URL问题 287
    12.5 测试技巧 290
    12.6 小结 291

    第13章 查找弱权限 292
    13.1 理解权限的重要性 293
    13.2 查找权限问题 294
    13.3 理解Windows的访问控制机制 295
    13.3.1 **对象 295
    13.3.2 **描述符 296
    13.3.3 ACL 296
    13.3.4 ACE 297
    13.4 查找和分析对象的权限 298
    13.4.1 使用Windows**属性对话框 298
    13.4.2 使用AccessEnum 300
    13.4.3 使用Process Explorer 300
    13.4.4 使用ObjSD 301
    13.4.5 使用AppVerifier 302
    13.5 识别常见的权限问题 302
    13.5.1 弱自主访问控制列表(DACL) 303
    13.5.2 NULL DACL 307
    13.5.3 不恰当的ACE顺序 308
    13.5.4 对象创建者 308
    13.5.5 间接访问资源 309
    13.5.6 忘记恢复原权限 309
    13.5.7 蹲点(Squatting)攻击 310
    13.5.8 利用竞争条件 311
    13.5.9 文件链接 312
    13.6 确定对象的可访问性 315
    13.6.1 可远程访问的对象 315
    13.6.2 本地可访问对象 317
    13.7 其他的权限考虑 318
    13.7.1 .NET权限 318
    13.7.2 SQL权限 318
    13.7.3 基于角色的** 320
    13.8 小结 321

    第14章 拒绝服务攻击 322
    14.1 掌握DoS攻击的类型 322
    14.1.1 查找技术实现缺陷 323
    14.1.2 查找资源消耗缺陷 329
    14.1.3 寻找解决严重问题的方法 335
    14.2 测试技巧 336
    14.3 小结 336

    第15章 托管代码问题 337
    15.1 澄清有关使用托管代码的常见错误认识 338
    15.1.1 错误认识1:在托管代码中不存在缓冲区溢出 338
    15.1.2 错误认识2:ASP.NET Web控件可防止跨站脚本 339
    15.1.3 错误认识3:垃圾回收可以防止内存泄露 339
    15.1.4 错误认识4:托管代码可防止SQL注入 340
    15.2 理解代码访问**的基础 340
    15.2.1 用户**和代码**的比较(User Security vs. Code Security) 341
    15.2.2 CAS概况 341
    15.2.3 程序(Assembly) 342
    15.2.4 物证 343
    15.2.5 权限 343
    15.2.6 策略 344
    15.2.7 全局程序集缓冲区(Global Assembly Cache) 348
    15.2.8 堆栈审核(Stack Walk) 348
    15.2.9 堆栈审查修改器(Stack Walk Modifier) 350
    15.3 使用代码检查方法查找问题 352
    15.3.1 调用不**的代码 353
    15.3.2 查找断言导致的问题 355
    15.3.3 查找链接查询中的问题 357
    15.3.4 了解拙劣的异常处理 360
    15.4 理解使用APTCA带来的问题 362
    15.5 .NET程序反编译 368
    15.6 测试技巧 368
    15.7 小结 369

    第16章 SQL注入 370
    16.1 SQL注入的确切含义 370
    16.2 了解SQL注入的重要性 372
    16.3 查找SQL注入问题 373
    16.3.1 利用黑盒测试方法 374
    16.3.2 利用代码检查 385
    16.4 避免SQL注入的常见错误 387
    16.4.1 转义输入中的单引号 388
    16.4.2 删除分号以阻止多重语句 388
    16.4.3 只使用存储过程 389
    16.4.4 删除不必要的存储过程 390
    16.4.5 将运行SQL Server的计算机安置在防火墙之后 390
    16.5 理解SQL存储过程的再利用 391
    16.5.1 示例:备份文档 392
    16.5.2 搜寻存储过程中的再利用问题 393
    16.6 识别类似的注入攻击 393
    16.7 测试技巧 394
    16.8 小结 395

    第17章 观察及逆向工程 396
    17.1 在没有调试器或反汇编工具时的观测结果 396
    17.1.1 输出比较 397
    17.1.2 使用监视工具 398
    17.2 使用调试器跟踪程序的执行并改变其行为 399
    17.2.1 修改执行流程以旁路限制 400
    17.2.2 在调试器下读取并修改内存的内容 404
    17.3 使用反编译器或反汇编工具对一个程序实施逆向工程 408
    17.3.1 理解二进制本地代码与字节码的区别 409
    17.3.2 在没有源代码时定位不**的函数调用 411
    17.3.3 对算法实施逆向工程以识别**缺陷 415
    17.4 分析**更新 417
    17.5 测试技巧 418
    17.6 法律方面的考虑因素 419
    17.7 小结 419

    第18章 ActiveX再利用攻击 420
    18.1 理解ActiveX控件 421
    18.1.1 在Internet Explorer浏览器中创建ActiveX控件 421
    18.1.2 ActiveX控件的初始化和脚本解析 423
    18.1.3 ActiveX控件再利用 424
    18.1.4 理解ActiveX控件**模型 428
    18.1.5 利用ActiveX控件测试方法学 434
    18.1.6 其他的测试窍门及技术 441
    18.2 走查(Walkthrough):ActiveX控件测试 450
    18.2.1 Clear 451
    18.2.2 ClipboardCopy 452
    18.2.3 ClipboardPaste 453
    18.2.4 InvokeRTFEditor 455
    18.2.5 LoadRTF 464
    18.2.6 NumChars 465
    18.2.7 RTFEditor 属性 466
    18.2.8 RTFEditor PARAM 467
    18.2.9 RTFEditorOverride 468
    18.2.10 挑战 470
    18.3 测试技巧 470
    18.4 小结 471

    第19章 其他再利用攻击 472
    19.1 理解请求外部数据的文档格式 472
    19.1.1 文档格式请求外部数据的常见的降低风险的方法 473
    19.1.2 测试请求外部数据的文档格式 474
    19.2 请求外部数据的Web页面 475
    19.2.1 通过URL查询字符串进行的CSRF攻击 475
    19.2.2 通过POST数据进行的CSRF攻击 476
    19.2.3 防止CSRF攻击的常用方法 477
    19.2.4 通过SOAP数据进行的CSRF攻击 478
    19.2.5 对CSRF攻击进行测试 479
    19.3 理解窗口和线程消息的再利用 479
    19.4 小结 480

    第20章 报告**漏洞 481
    20.1 报告问题 481
    20.2 联系开发商 482
    20.3 期望联系开发商后得到什么 484
    20.4 公开发布 485
    20.4.1 确定细节数量 485
    20.4.2 公开时间选择 486
    20.5 定位产品中的**漏洞 486
    20.5.1 与漏洞发现者联系 487
    20.5.2 识别漏洞产生的根本原因 487
    20.5.3 寻找相关的漏洞 487
    20.5.4 确定受影响的产品及其版本 488
    20.5.5 测试补丁 488
    20.5.6 确定减轻措施和相关工作 488
    20.5.7 为所有受影响的产品及其版本同时发布补丁 489
    20.6 小结 489
    附录A 相关工具 490
    附录B **测**例列表 497
    ……
    编辑推荐语
    《**漏洞追踪》将向你展现:
    如何识别高风险的入口点并创建测**例
    如何测试客户端和服务器,以追踪恶意的请求/响应漏洞
    如何利用黑盒和白盒测试方法揭示**漏洞
    如何发现欺骗问题,包括标识欺骗和用户接口欺骗
    如何检测能够利用程序逻辑的漏洞,比如SQL注入
    如何测试×ML、SOAP和Web服务的**漏洞
    如何识别信息泄露和弱权限问题
    如何查找攻击者能够直接操纵内存的地方
    如何利用不同的数据表现方式来揭示规范化问题
    如何曝光COM和Active×再利用攻击
    来自专家的**的软件**测试参考书
    你将学会像攻击者那样去思考,并发现软件中潜在的**问题。在这本**的参考书中,三位**测试专家提供了明确实用的指南和代码实例,帮助你在软件发布之前发现、分类和评估**漏洞。
    我们必须培养一类新型的测试员——一种能像恶意攻击者那样思考的人——一种基于白盒和黑盒测试基础的通过攻击来追踪**漏洞的人。
    ——微软主席兼软件体系结构**执行官 比尔·盖茨

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外