安全漏洞追踪

安全漏洞追踪
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] [美] [美]
出版社: 电子工业出版社
2008-10
版次: 1
ISBN: 9787121073717
定价: 80.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 508页
字数: 686千字
正文语种: 简体中文
原版书名: Hunting Security Bugs
  •   一本针对安全测试的书籍,同时也是一本十分适合信息安全研究人员的优秀参考书。《安全漏洞追踪》共20章,其中前3章讨论了安全测试的基础,包括如何从攻击者的角度去思考测试方法,以及如何进行威胁建模和入口点查找。第4章至第19章则通过详细的示例与代码,分别深入地阐述了网络流量和内存数据的操控方法,包括缓冲区溢出、格式化字符串、HTML脚本、XML、规范化、权限、拒绝服务、托管代码、SQL注入和ActiveX再利用等安全漏洞追踪方法,以及在二进制代码条件下查找安全漏洞的逆向工程技术。第20章论述了合理报告安全漏洞的程序,并提出了一个负责的安全漏洞公开流程。最后,《安全漏洞追踪》还提供了一个适于初学者的测试用例列表。   TomGallagher,微软Office安全测试组负责人,擅长渗透测试、编写安全测试工具和安全培训。 第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.3HTTP请求 29
    3.2.4命名管道 32
    3.2.5可插入协议处理程序 35
    3.2.6恶意服务器响应 37
    3.2.7程序化接口 38
    3.2.8SQL 39
    3.2.9注册表 39
    3.2.10用户接口 41
    3.2.11E-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.2SSL能否阻止恶意服务器的攻击 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.1IP地址欺骗 83
    6.3.2MAC地址欺骗 84
    6.3.3利用网络协议欺骗 85
    6.4用户接口(UserInterface,UI)欺骗 88
    6.4.1重构对话框 88
    6.4.2Z-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.3Unicode数据 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.4POST也是可利用的 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.5HTML资源 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.3Style中的注释 245
    10.7.4ASP.NET内置的过滤器 247
    10.8理解InternetExplorer如何减轻针对本地文件的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.4ASP.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.3XML输入中包括非字母数字的数据 257
    11.2测试特定的XML攻击 260
    11.2.1实体(Entity) 260
    11.2.2XML注入(XMLInjection) 263
    11.2.3大文件引用(LargeFileReference) 266
    11.3简单对象访问协议(SimpleObjectAccessProtocol) 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.2URL问题 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.3ACL 296
    13.3.4ACE 297
    13.4查找和分析对象的权限 298
    13.4.1使用Windows安全属性对话框 298
    13.4.2使用AccessEnum 300
    13.4.3使用ProcessExplorer 300
    13.4.4使用ObjSD 301
    13.4.5使用AppVerifier 302
    13.5识别常见的权限问题 302
    13.5.1弱自主访问控制列表(DACL) 303
    13.5.2NULLDACL 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.2SQL权限 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.NETWeb控件可防止跨站脚本 339
    15.1.3错误认识3:垃圾回收可以防止内存泄露 339
    15.1.4错误认识4:托管代码可防止SQL注入 340
    15.2理解代码访问安全的基础 340
    15.2.1用户安全和代码安全的比较(UserSecurityvs.CodeSecurity) 341
    15.2.2CAS概况 341
    15.2.3程序(Assembly) 342
    15.2.4物证 343
    15.2.5权限 343
    15.2.6策略 344
    15.2.7全局程序集缓冲区(GlobalAssemblyCache) 348
    15.2.8堆栈审核(StackWalk) 348
    15.2.9堆栈审查修改器(StackWalkModifier) 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.1SQL注入的确切含义 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将运行SQLServer的计算机安置在防火墙之后 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在InternetExplorer浏览器中创建ActiveX控件 421
    18.1.2ActiveX控件的初始化和脚本解析 423
    18.1.3ActiveX控件再利用 424
    18.1.4理解ActiveX控件安全模型 428
    18.1.5利用ActiveX控件测试方法学 434
    18.1.6其他的测试窍门及技术 441
    18.2走查(Walkthrough):ActiveX控件测试 450
    18.2.1Clear 451
    18.2.2ClipboardCopy 452
    18.2.3ClipboardPaste 453
    18.2.4InvokeRTFEditor 455
    18.2.5LoadRTF 464
    18.2.6NumChars 465
    18.2.7RTFEditor属性 466
    18.2.8RTFEditorPARAM 467
    18.2.9RTFEditorOverride 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
  • 内容简介:
      一本针对安全测试的书籍,同时也是一本十分适合信息安全研究人员的优秀参考书。《安全漏洞追踪》共20章,其中前3章讨论了安全测试的基础,包括如何从攻击者的角度去思考测试方法,以及如何进行威胁建模和入口点查找。第4章至第19章则通过详细的示例与代码,分别深入地阐述了网络流量和内存数据的操控方法,包括缓冲区溢出、格式化字符串、HTML脚本、XML、规范化、权限、拒绝服务、托管代码、SQL注入和ActiveX再利用等安全漏洞追踪方法,以及在二进制代码条件下查找安全漏洞的逆向工程技术。第20章论述了合理报告安全漏洞的程序,并提出了一个负责的安全漏洞公开流程。最后,《安全漏洞追踪》还提供了一个适于初学者的测试用例列表。
  • 作者简介:
      TomGallagher,微软Office安全测试组负责人,擅长渗透测试、编写安全测试工具和安全培训。
  • 目录:
    第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.3HTTP请求 29
    3.2.4命名管道 32
    3.2.5可插入协议处理程序 35
    3.2.6恶意服务器响应 37
    3.2.7程序化接口 38
    3.2.8SQL 39
    3.2.9注册表 39
    3.2.10用户接口 41
    3.2.11E-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.2SSL能否阻止恶意服务器的攻击 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.1IP地址欺骗 83
    6.3.2MAC地址欺骗 84
    6.3.3利用网络协议欺骗 85
    6.4用户接口(UserInterface,UI)欺骗 88
    6.4.1重构对话框 88
    6.4.2Z-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.3Unicode数据 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.4POST也是可利用的 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.5HTML资源 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.3Style中的注释 245
    10.7.4ASP.NET内置的过滤器 247
    10.8理解InternetExplorer如何减轻针对本地文件的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.4ASP.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.3XML输入中包括非字母数字的数据 257
    11.2测试特定的XML攻击 260
    11.2.1实体(Entity) 260
    11.2.2XML注入(XMLInjection) 263
    11.2.3大文件引用(LargeFileReference) 266
    11.3简单对象访问协议(SimpleObjectAccessProtocol) 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.2URL问题 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.3ACL 296
    13.3.4ACE 297
    13.4查找和分析对象的权限 298
    13.4.1使用Windows安全属性对话框 298
    13.4.2使用AccessEnum 300
    13.4.3使用ProcessExplorer 300
    13.4.4使用ObjSD 301
    13.4.5使用AppVerifier 302
    13.5识别常见的权限问题 302
    13.5.1弱自主访问控制列表(DACL) 303
    13.5.2NULLDACL 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.2SQL权限 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.NETWeb控件可防止跨站脚本 339
    15.1.3错误认识3:垃圾回收可以防止内存泄露 339
    15.1.4错误认识4:托管代码可防止SQL注入 340
    15.2理解代码访问安全的基础 340
    15.2.1用户安全和代码安全的比较(UserSecurityvs.CodeSecurity) 341
    15.2.2CAS概况 341
    15.2.3程序(Assembly) 342
    15.2.4物证 343
    15.2.5权限 343
    15.2.6策略 344
    15.2.7全局程序集缓冲区(GlobalAssemblyCache) 348
    15.2.8堆栈审核(StackWalk) 348
    15.2.9堆栈审查修改器(StackWalkModifier) 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.1SQL注入的确切含义 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将运行SQLServer的计算机安置在防火墙之后 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在InternetExplorer浏览器中创建ActiveX控件 421
    18.1.2ActiveX控件的初始化和脚本解析 423
    18.1.3ActiveX控件再利用 424
    18.1.4理解ActiveX控件安全模型 428
    18.1.5利用ActiveX控件测试方法学 434
    18.1.6其他的测试窍门及技术 441
    18.2走查(Walkthrough):ActiveX控件测试 450
    18.2.1Clear 451
    18.2.2ClipboardCopy 452
    18.2.3ClipboardPaste 453
    18.2.4InvokeRTFEditor 455
    18.2.5LoadRTF 464
    18.2.6NumChars 465
    18.2.7RTFEditor属性 466
    18.2.8RTFEditorPARAM 467
    18.2.9RTFEditorOverride 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
查看详情
好书推荐 / 更多
安全漏洞追踪
价格的发现复杂约束市场中的拍卖设计
保罗·米尔格罗姆 著
安全漏洞追踪
我的思想与观念:爱因斯坦自选集(袒露心迹之作,畅销60余年,中文版震撼上市)
张卜天 译者;果麦文化 出品;阿尔伯特·爱因斯坦
安全漏洞追踪
宙斯的正义
[英]劳埃德-琼斯(Hugh Lloyd-Jones)
安全漏洞追踪
法镜般的神眼之下(オールドレンズの神のもとで)
[日]堀江敏幸 著;陆求实 译
安全漏洞追踪
末日机器:一个核战争策划者的自白
[美]丹尼尔·埃尔斯伯格
安全漏洞追踪
为政——古代中国的致治理念
梁治平 著
安全漏洞追踪
看不见的女人:家庭事务社会学//守望者·人间世
[英]安·奥克利 著
安全漏洞追踪
甲骨文丛书·一个偶像的黄昏:弗洛伊德的谎言
米歇尔·翁福雷(Michel Onfray) 著;王甦 译
安全漏洞追踪
古罗马的笑:演说家、弄臣和猴子
[英]玛丽·比尔德(Mary Beard)
安全漏洞追踪
呼吸在一米之外(聚焦真实好故事的“天才捕手计划”全新纪实力作,记录大危机时期平凡人的悲喜)
陈拙 著;博集天卷 出品
安全漏洞追踪
旧巢痕:金克木小说体回忆录。一个儿童眼中的旧时风物。一代大家传奇的教育启蒙。
金克木 著
安全漏洞追踪
无声的角落——被隐匿的日本校园之恶
[日]池谷孝司