图书介绍
SQL注入攻击与防御pdf电子书版本下载
- (美)克拉克等著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302224136
- 出版时间:2010
- 标注页数:359页
- 文件大小:83MB
- 文件页数:368页
- 主题词:关系数据库-数据库管理系统,SQL-安全技术
PDF下载
下载说明
SQL注入攻击与防御PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 什么是SQL注入 1
1.1 概述 2
1.2 理解Web应用的工作原理 2
1.2.1 一种简单的应用架构 3
1.2.2 一种较复杂的架构 4
1.3 理解SQL注入 5
1.4 理解SQL注入的产生过程 10
1.4.1 构造动态字符串 10
1.4.2 不安全的数据库配置 16
1.5 本章小结 18
1.6 快速解决方案 18
1.7 常见问题解答 19
第2章 SQL注入测试 21
2.1 概述 22
2.2 寻找SQL注入 22
2.2.1 借助推理进行测试 22
2.2.2 数据库错误 29
2.2.3 应用响应 38
2.2.4 SQL盲注 42
2.3 确认SQL注入 45
2.3.1 区分数字和字符串 46
2.3.2 内联SQL注入 46
2.3.3 终止式SQL注入 51
2.3.4 时间延迟 59
2.4 自动寻找SQL注入 60
2.5 本章小结 68
2.6 快速解决方案 68
2.7 常见问题解答 69
第3章 复查代码中的SQL注入 71
3.1 概述 72
3.2 复查源代码中的SQL注入 72
3.2.1 危险的编码行为 74
3.2.2 危险的函数 79
3.2.3 跟踪数据 82
3.2.4 复查PL/SQL和T-SQL代码 88
3.3 自动复查源代码 94
3.3.1 YASCA 96
3.3.2 Pixy 96
3.3.3 AppCodeScan 97
3.3.4 LAPSE 97
3.3.5 SWAAT 97
3.3.6 Microsoft SQL注入源代码分析器 98
3.3.7 CAT.NET 98
3.3.8 商业源代码复查工具 98
3.3.9 Ounce 99
3.3.10 Fortify源代码分析器 100
3.3.11 CodeSecure 100
3.4 本章小结 100
3.5 快速解决方案 101
3.6 常见问题解答 102
第4章 利用SQL注入 105
4.1 概述 106
4.2 理解常见的利用技术 107
4.3 识别数据库 108
4.3.1 非盲跟踪 109
4.3.2 盲跟踪 112
4.4 使用UINON语句提取数据 113
4.4.1 匹配列 114
4.4.2 匹配数据类型 115
4.5 使用条件语句 119
4.5.1 方法1:基于时间 120
4.5.2 方法2:基于错误 122
4.5.3 方法3:基于内容 123
4.5.4 处理字符串 123
4.5.5 扩展攻击 125
4.5.6 利用SQL注入错误 126
4.5.7 Oracle中的错误消息 128
4.6 枚举数据库模式 131
4.6.1 SQL Server 131
4.6.2 MySQL 136
4.6.3 Oracle 139
4.7 提升权限 142
4.7.1 SQL Server 142
4.7.2 Oracle 147
4.8 窃取哈希口令 148
4.8.1 SQL Server 149
4.8.2 MySQL 150
4.8.3 Oracle 151
4.9 带外通信 154
4.9.1 E-mail 154
4.9.2 HTTP/DNS 157
4.9.3 文件系统 158
4.10 自动利用SQL注入 161
4.10.1 Sqlmap 161
4.10.2 Bobcat 164
4.10.3 BSQL 164
4.10.4 其他工具 166
4.11 本章小结 166
4.12 快速解决方案 167
4.13 常见问题解答 168
第5章 SQL盲注利用 171
5.1 概述 172
5.2 寻找并确认SQL盲注 173
5.2.1 强制产生通用错误 173
5.2.2 注入带副作用的查询 173
5.2.3 拆分与平衡 173
5.2.4 常见的SQL盲注场景 175
5.2.5 SQL盲注技术 176
5.3 使用基于时间的技术 183
5.3.1 延迟数据库查询 183
5.3.2 基于时间推断的考虑 188
5.4 使用基于响应的技术 189
5.4.1 MySQL响应技术 189
5.4.2 SQL Server响应技术 191
5.4.3 Oracle响应技术 192
5.4.4 返回多位信息 194
5.5 使用非主流通道 195
5.5.1 数据库连接 195
5.5.2 DNS渗漏 196
5.5.3 E-mail渗漏 200
5.5.4 HTTP渗漏 200
5.6 自动SQL盲注利用 202
5.6.1 Absinthe 203
5.6.2 BSQL Hacker 204
5.6.3 SQL Brute 206
5.6.4 Sqlninja 207
5.6.5 Squeeza 208
5.7 本章小结 209
5.8 快速解决方案 209
5.9 常见问题解答 210
第6章 利用操作系统 213
6.1 概述 214
6.2 访问文件系统 215
6.2.1 读文件 215
6.2.2 写文件 229
6.3 执行操作系统命令 237
6.4 巩固访问 243
6.5 本章小结 245
6.6 快速解决方案 245
6.7 常见问题解答 246
6.8 尾注 247
第7章 高级话题 249
7.1 概述 250
7.2 避开输入过滤器 250
7.2.1 使用大小写变种 250
7.2.2 使用SQL注释 250
7.2.3 使用URL编码 251
7.2.4 使用动态的查询执行 253
7.2.5 使用空字节 254
7.2.6 嵌套剥离后的表达式 255
7.2.7 利用截断 255
7.2.8 避开自定义过滤器 257
7.2.9 使用非标准入口点 257
7.3 利用二阶SQL注入 259
7.4 使用混合攻击 263
7.4.1 修改捕获的数据 263
7.4.2 创建跨站脚本 263
7.4.3 在Oracle上运行操作系统命令 264
7.4.4 利用验证过的漏洞 265
7.5 本章小结 265
7.6 快速解决方案 266
7.7 常见问题解答 267
第8章 代码层防御 269
8.1 概述 270
8.2 使用参数化语句 270
8.2.1 Java中的参数化语句 271
8.2.2 .NET(C#)中的参数化语句 272
8.2.3 PHP中的参数化语句 274
8.2.4 PL/SQL中的参数化语句 275
8.3 输入验证 275
8.3.1 白名单 276
8.3.2 黑名单 277
8.3.3 Java中的输入验证 278
8.3.4 .NET中的输入验证 279
8.3.5 PHP中的输入验证 280
8.4 编码输出 280
8.5 规范化 286
8.6 通过设计来避免SQL注入的危险 289
8.6.1 使用存储过程 289
8.6.2 使用抽象层 290
8.6.3 处理敏感数据 290
8.6.4 避免明显的对象名 291
8.6.5 创建数据库Honeypot 292
8.6.6 附加的安全开发资源 293
8.7 本章小结 293
8.8 快速解决方案 294
8.9 常见问题解答 295
第9章 平台层防御 297
9.1 概述 298
9.2 使用运行时保护 298
9.2.1 Web应用防火墙 299
9.2.2 截断过滤器 304
9.2.3 不可编辑的输入保护与可编辑的输入保护 308
9.2.4 URL策略/页面层策略 308
9.2.5 面向方面编程 309
9.2.6 应用入侵检测系统 310
9.2.7 数据库防火墙 310
9.3 确保数据库安全 310
9.3.1 锁定应用数据 311
9.3.2 锁定数据库服务器 314
9.4 额外的部署考虑 316
9.4.1 最小化不必要信息的泄露 317
9.4.2 提高Web服务器日志的冗余 320
9.4.3 在独立主机上部署Web服务器和数据库服务器 320
9.4.4 配置网络访问控制 321
9.5 本章小结 321
9.6 快速解决方案 321
9.7 常见问题解答 322
第10章 参考资料 325
10.1 概述 326
10.2 SQL入门 326
10.3 SQL注入快速参考 331
10.3.1 识别数据库平台 331
10.3.2 Microsoft SQL Server备忘单 333
10.3.3 MySQL备忘单 338
10.3.4 Oracle备忘单 341
10.4 避开输入验证过滤器 346
10.4.1 引号过滤器 346
10.4.2 HTTP编码 347
10.5 排查SQL注入攻击 348
10.6 其他平台上的SQL注入 351
10.6.1 PostgreSQL备忘单 351
10.6.2 DB2备忘单 353
10.6.3 Informix备忘单 354
10.6.4 Ingres备忘单 356
10.6.5 Microsoft Access 357
10.7 资源 357
10.7.1 SQL注入白皮书 357
10.7.2 SQL注入备忘单 357
10.7.3 SQL注入利用工具 357
10.7.4 口令破解工具 358
10.8 快速解决方案 358