| 所在主题: | |
| 文件名: 《数据库黑客大曝光-数据库服务器防护术》(David Litchfield).pdf | |
| 资料下载链接地址: https://bbs.pinggu.org/a-1770136.html | |
| 附件大小: | |
|
内容介绍: 用主动防护对抗入侵. 数据库是经济的控制中心。您的各种个人信息都存储在数据库中——病历档案、银行账户、工作经历、养老金、汽车登记,甚至子女的上学信息和您购买的食品。数据库攻击是残酷无情的。 本书是继the shellcoder's handbook之后的又一本精品图书,4名世界顶级安全专家将手把手教您如何入侵和防御7种当今最流行的数据库服务器。本书详细介绍了如何识别漏洞、攻击是如何发生的,以及如何停止对数据库的残酷攻击。“坏人”是知道所有这一切的,您也应该知道。 本书主要内容.. ·标识和向oracle及microsoft sql server中插入新的漏洞。 ·学习对ibm的db2、postgresql、sybase ase及mysql服务器的最佳防护。 ·揭露黑客如何利用这几种方式来访问数据库:缓冲区溢出、通过sql的特权提升、存储过程或触发器滥用,以及sql注入等。 ·识别每种数据库特有的漏洞。 ·查明攻击者已经知道了哪些内容。... [hide][/hide] 目录: 第i部分 引 言. 第1章 关注数据库安全的原因 3 1.1 最安全的数据库 3 1.2 数据库安全研究现状 4 1.3 讨论数据库安全研究现状 的意义 10 1.4 寻找数据库服务器的漏洞 10 1.4.1 不要相信文献 11 1.4.2 实现自己的客户程序 11 1.4.3 调试系统,理解它是如何运行的 11 1.4.4 标识通信协议 11 1.4.5 理解任意代码执行bug 12 1.4.6 写下自己的“fuzzer” 12 1.5 小结 12 第ii部分 oracle 第2章 oracle体系结构 15 2.1 分析oracle体系结构 15 2.2 oracle rdbms 21 2.3 oracle intelligent agent 22 2.4 oracle的身份验证和授权 27 2.5 数据库身份验证 28 .2.5.1 授权 30 2.5.2 关键系统特权 30 2.5.3 oracle审计 31 第3章 攻击oracle 33 3.1 扫描oracle服务器 33 3.1.1 常用端口 33 3.1.2 tns listener 34 3.2 oracle中的pl/sql 42 3.3 pl/sql injection 46 3.4 注入delete、insert及update语句 52 3.4.1 注入insetrt语句 52 3.4.2 实际示例 53 3.5 注入匿名的pl/sql代码块 54 3.6 用dbms_sql执行用户自定义查询 56 3.7 实际示例 59 3.8 pl/sql和oracle application server(oracle应用程序服务器) 62 3.9 小结 65 第4章 oracle:深入网络 67 4.1 运行操作系统命令 67 4.1.1 通过pl/sql运行os命令 67 4.1.2 通过dbms_scheduler运行os命令 69 4.1.3 通过java运行os命令 70 4.2 访问文件系统 70 4.3 访问网络 72 4.4 pl/sql和网络 73 4.4.1 utl_tcp 73 4.4.2 utl_http 75 4.4.3 utl_smtp 75 4.5 小结 76 第5章 保护oracle 77 5.1 oracle安全建议 77 5.2 oracle数据库服务器 79 5.2.1 账户 79 5.2.2 角色 80 5.2.3 dba角色 81 第iii部分 db2 第6章 ibm db2通用数据库 87 6.1 引言 87 6.2 db2部署场景 87 6.3 db2进程 93 6.4 db2物理数据库布局 95 6.4.1 windows上的db2 95 6.4.2 linux上的db2 95 6.5 db2逻辑数据库布局 95 6.6 db2身份验证和授权 96 6.7 授权 105 6.7.1 dbauth视图 105 6.7.2 tabauth视图 106 6.7.3 routineauth视图 107 6.8 小结 108 第7章 db2:发现、攻击和防御 109 第8章 攻击db2 119 8.1 db2过程和函数的缓冲区溢出 119 8.2 db2远程命令服务器 122 8.3 通过db2运行命令 124 8.4 通过db2访问文件系统 125 8.4.1 加载方式 125 8.4.2 xml函数 125 8.5 本地攻击db2 126 8.6 小结 134 第9章 保护db2 135 9.1 保护操作系统 135 9.2 保护db2网络接口 135 9.3 保护dbms 136 9.4 删除不必要组件 136 9.5 小结 136 第iv部分 informix 第10章 informix体系结构 139 10.1 分析informix体系结构 139 10.1.1 网络上的informix 139 10.1.2 连接远程informix服务器 139 10.2 informix逻辑布局 140 第11章 informix:发现、攻击和防御 145 11.1 攻击和防御informix 145 11.1.1 身份验证提交攻击 155 11.1.2 共享内存、用户名和口令 157 11.2 用spl攻击informix 160 11.2.1 通过spl运行任意命令 160 11.2.2 加载任意库 164 11.2.3 读、写服务器上的任意文件 164 11.3 informix内的sql缓冲区溢出 164 11.4 小结 167 第12章 保护informix 169 12.1 为服务器持续打补丁 169 12.2 加密网络通信量 169 12.3 取消public的connect特权 169 12.4 启用审计 169 12.5 取消public对文件访问例程的权限 169 12.6 取消public对模块例程的执行权限 170 12.7 阻止转储共享内存 170 12.8 阻止对基于unix的服务器的本地攻击 170 12.9 限制语言usage权限 170 12.10 有用文档 170 第v部分 sybase ase 第13章 sybase体系结构 175 13.1 sybase背景 175 13.2 历史 175 13.3 显著特性 176 13.3.1 java-in-ase 176 13.3.2 部署场景 178 13.3.3 防火墙对sybase 的含意 180 13.3.4 与sybase通信 181 13.3.5 特权模型 181 13.3.6 登录账户基础 181 13.3.7 口令和口令复杂性 182 13.3.8 服务交互 183 第14章 sybase:发现、攻击 和防御 185 14.1 发现目标 185 14.1.1 扫描sybase 185 14.1.2 sybase版本号 185 14.1.3 窥探身份验证 186 14.2 攻击sybase 186 14.2.1 sybase中的sql注入 187 14.2.2 sql注入基础 187 14.3 sybase内的ms sql server 注入技术 190 14.3.1 注释 190 14.3.2 union select 191 14.3.3 错误消息 191 14.3.4 @@version 191 14.3.5 having/group by 192 14.3.6 sql批处理注入 192 14.3.7 xp_cmdshell 193 14.3.8 xp_regread 193 14.3.9 自定义的扩展存储过程 193 14.3.10 调用char函数以绕过引号筛选器 193 14.3.11 shutdown 194 14.3.12 通过sp_password逃避审计 194 14.3.13 连接服务器 194 14.3.14 利用时间延迟作通信通道 195 14.3.15 varbinary字面值编码和exec 197 14.4 外部文件系统访问 197 14.5 防御攻击 199 14.6 过去已知的一些sybase ase安全bug 199.. 14.6.1 can-2003-0327——远程口令数组溢出 199 14.6.2 dbcc checkverify缓冲区溢出 199 14.6.3 drop database 缓冲区溢出漏洞 200 14.6.4 xp_freedll缓冲区溢出 200 14.7 sybase版本工具 200 第15章 sybase:深入网络 207 15.1 访问网络 207 15.2 用sybase连接其他服务器 207 15.3 sql中的java 208 15.3.1 jsql tds客户端 210 15.3.2 jsql tcp代理 212 15.4 特洛伊(trojanning)sybase 213 15.4.1 授予用户sa或sso_role权限 213 15.4.2 允许直接更新系统表,授权访问选择的系统表 214 第16章 保护sybase 215 16.1 sybase安全一览表 215 16.1.1 背景 215 16.1.2 操作系统 215 16.1.3 sybase用户 215 16.1.4 sybase配置 216 16.2 背景 216 16.3 操作系统 216 16.4 sybase用户 217 16.5 sybase配置 218 第vi部分 mysql 第17章 mysql体系结构 223 17.1 分析物理数据库结构 223 17.1.1 部署 224 17.1.2 winmysqladmin自动启动 225 17.1.3 默认用户名和口令 225 17.1.4 协议 226 17.1.5 身份验证协议中的bug 226 17.2 分析逻辑数据库结构 229 17.2.1 mysql逻辑数据库结构 229 17.2.2 存储引擎 230 17.2.3 文件系统布局 231 17.2.4 查询批处理 231 17.2.5 分析用户和组 231 17.3 利用体系结构设计缺陷 237 17.3.1 用户定义函数 237 17.3.2 访问控制系统缺陷 239 17.3.3 缺少安全影响特性 240 17.3.4 缺少提高安全的特性 241 第18章 mysql:发现、攻击和防御 243 18.1 发现目标 243 18.1.1 扫描mysql 243 18.1.2 mysql版本号 243 18.1.3 窥探身份验证 244 18.2 黑掉mysql 245 18.2.1 mysql中的sql注入 245 18.2.2 已知的一些mysql bug 251 18.2.3 特洛伊(trojanning)mysql 258 18.3 本地攻击mysql 263 18.3.1 竞争条件 264 18.3.2 溢出 264 18.4 再论mysql文件结构 264 第19章 mysql:深入网络 265 19.1 mysql客户机散列身份验证补丁 265 19.2 运行外部程序:用户定义函数 266 19.3 windows中的用户定义函数 268 19.4 小结 272 第20章 保护mysql 273 20.1 mysql安全一览表 273 20.1.1 背景 273 20.1.2 操作系统 273 20.1.3 mysql用户 274 20.1.4 mysql配置 274 20.1.5 例行审计 274 20.2 背景 275 20.3 操作系统 275 20.4 mysql用户 276 20.5 mysql配置 278 20.6 例行审计 279 第vii部分 sql server 第21章 microsoft sql sever体系结构 283 21.1 sql server背景 283 21.2 物理体系结构 284 21.2.1 表格数据流(tds)协议 284 21.2.2 网络库 285 21.2.3 sql server进程和端口 285 21.2.4 身份验证和授权 287 21.3 逻辑体系结构 290 21.3.1 存储过程 291 21.3.2 触发器 295 21.4 用户和组 296 21.4.1 账户信息 296 21.4.2 口令加密 298 第22章 sql server:漏洞、攻击和防御 303 22.1 漏洞 303 22.2 利用设计错误 303 22.2.1 sql slammer 溢出 303 22.2.2 \x08前导字节溢出 304 22.2.3 \x0a前导字节网络dos 304 22.2.4 客户机溢出 305 22.3 sql 注入 305 22.3.1 系统级别的攻击 309 22.3.2 其他攻击向量 309 22.3.3 时间延迟 310 22.3.4 存储过程 311 22.3.5 端口扫描 313 22.3.6 批处理查询 313 22.3.7 sql注入的防御 313 22.4 掩盖入侵痕迹 315 22.4.1 三字节补丁 315 22.4.2 xstatus后门 317 第23章 保护sql server 319 23.1 安装 319 23.1.1 步骤1:身份验证 319 23.1.2 步骤2:口令强度 321 23.1.3 步骤3:操作系统锁定 321 23.1.4 步骤4:安装后的锁定 322 23.2 配置 323 23.2.1 步骤5:配置网络库 323 23.2.2 步骤6:配置审计和警报 323 23.2.3 步骤7:锁定特权 323 23.2.4 步骤8:删除不需要的功能和服务 324 23.2.5 步骤9:删除存储过程 325 23.2.6 步骤10:安装安全补丁 326 第viii部分 postgresql 第24章 postgresql体系结构 329 24.1 分析物理数据库体系结构 329 24.1.1 安全部署 329 24.1.2 通用部署场景 330 24.1.3 术语 330 24.2 postgresql文件结构 331 24.2.1 协议 332 24.2.2 身份验证 333 24.2.3 系统目录 335 24.2.4 分析用户和组 338 24.2.5 存储过程 339 第25章 postgresql:发现与攻击 341 25.1 寻找目标 341 25.2 postgresql协议 342 25.3 针对postgresql的网络攻击 343 25.3.1 网络嗅探 343 25.3.2 arp欺骗和tcp劫持 343 25.3.3 ident欺骗 344 25.4 来自攻陷资源的信息泄露 345 25.5 已知的各种postgresql bug 346 25.5.1 配置漏洞 347 25.5.2 代码执行漏洞 347 25.5.3 postgresql组件中的漏洞 351 25.6 postgresql中的sql注入 353 25.6.1 有用的内置函数 356 25.6.2 使用postgresql 8.0中的时间延迟 357 25.6.3 存储过程中的sql注入 357 25.6.4 其他应用程序中的sql注入漏洞 358 25.7 与文件系统进行交互 359 25.7.1 大对象支持 361 25.7.2 通过共享对象使用扩展 361 25.7.3 load命令 363 25.8 小结 365 第26章 保护postgresql 367 附录a 时间延迟sql注入harness的c代码示例 369 附录b 危险的扩展存储过程 373 附录c oracle默认用户名和口令 377... |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明