图书介绍

SQL注入攻击与防御 原书第2版PDF|Epub|txt|kindle电子书版本网盘下载

SQL注入攻击与防御 原书第2版
  • (美)克拉克著;施宏斌,叶愫译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302340058
  • 出版时间:2013
  • 标注页数:426页
  • 文件大小:201MB
  • 文件页数:440页
  • 主题词:关系数据库系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

SQL注入攻击与防御 原书第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 什么是SQL注入1

1.1 概述1

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 概述21

2.2 寻找SQL注入21

2.2.1 借助推理进行测试22

2.2.2 数据库错误28

2.2.3 应用程序的响应39

2.2.4 SQL盲注42

2.3 确认SQL注入45

2.3.1 区分数字和字符串46

2.3.2 内联SQL注入46

2.3.3 终止式SOL注入52

2.3.4 时间延迟59

2.4 自动寻找SQL注入60

2.5 本章小结68

2.6 快速解决方案68

2.7 常见问题解答69

第3章 复查代码中的SQL注入71

3.1 概述71

3.2 复查源代码中的SQL注入71

3.2.1 危险的编码行为73

3.2.2 危险的函数78

3.2.3 跟踪数据81

3.2.4 复查Android应用程序代码88

3.2.5 复查PL/SQL和T-SQL代码93

3.3 自动复查源代码99

3.3.1 Graudit100

3.3.2 YASCA101

3.3.3 Pixy101

3.3.4 AppCodeScan102

3.3.5 OWASP LAPSE+项目102

3.3.6 Microsoft SQL注入源代码分析器103

3.3.7 CAT.NET103

3.3.8 RIPS——PHP脚本漏洞的静态源代码分析器103

3.3.9 CodePro AnalytiX104

3.3.1 0 Teachable Static Analysis Workbench104

3.3.1 1商业源代码复查工具104

3.3.1 2 Fortify源代码分析器105

3.3.1 3 Rational AppScan Source Edition106

3.3.1 4 CodeSecure106

3.3.1 5 Klocwork Solo106

3.4 本章小结107

3.5 快速解决方案107

3.6 常见问题解答108

第4章 利用SQL注入111

4.1 概述111

4.2 理解常见的漏洞利用技术112

4.2.1 使用堆叠查询113

4.2.2 在Web应用程序中利用Oracle漏洞114

4.3 识别数据库114

4.3.1 非盲跟踪115

4.3.2 盲跟踪119

4.4 使用UINON语句提取数据120

4.4.1 匹配列121

4.4.2 匹配数据类型122

4.5 使用条件语句126

4.5.1 方法1:基于时间126

4.5.2 方法2:基于错误130

4.5.3 方法3:基于内容131

4.5.4 处理字符串131

4.5.5 扩展攻击133

4.5.6 利用SQL注入错误134

4.5.7 Oracle中的错误消息135

4.6 枚举数据库模式139

4.6.1 SQL Server139

4.6.2 MySQL143

4.6.3 PostgreSQL146

4.6.4 Oracle147

4.7 在INSERT查询中实施注入攻击150

4.7.1 第一种情形:插入用户规定的数据150

4.7.2 第二种情形:生成INSERT错误153

4.7.3 其他情形155

4.8 提升权限155

4.8.1 SQL Server155

4.8.2 在未打补丁的服务器上提升权限160

4.8.3 SYS.DBMS CDC PUBLISH162

4.9 窃取哈希口令164

4.9.1 SQL Server164

4.9.2 MySQL165

4.9.3 PostgreSQL166

4.9.4 Oracle166

4.10 带外通信169

4.10.1 e-mail169

4.10.2 HTTP/DNS172

4.10.3 文件系统173

4.11 自动利用SQL注入179

4.11.1 Sqlmap180

4.11.2 Bobcat181

4.11.3 BSQL181

4.11.4 其他工具183

4.12 本章小结183

4.13 快速解决方案184

4.14 常见问题解答185

第5章 SQL盲注利用187

5.1 概述187

5.2 寻找并确认SQL盲注188

5.2.1 强制产生通用错误188

5.2.2 注入带副作用的查询188

5.2.3 拆分与平衡189

5.2.4 常见的SQL盲注场景191

5.2.5 SQL盲注技术191

5.3 使用基于时间的技术200

5.3.1 延迟数据库查询200

5.3.2 基于时间的推断应考虑的问题207

5.4 使用基于响应的技术207

5.4.1 MySQL响应技术208

5.4.2 PostgreSQL响应技术209

5.4.3 SQL Server响应技术210

5.4.4 Oracle响应技术211

5.4.5 返回多位信息213

5.5 使用非主流通道214

5.5.1 数据库连接214

5.5.2 DNS渗漏216

5.5.3 e-mail渗漏219

5.5.4 HTTP渗漏220

5.5.5 ICMP渗漏222

5.6 自动SQL盲注利用222

5.6.1 Absinthe222

5.6.2 BSQL Hacker223

5.6.3 SQLBrute225

5.6.4 Sqlmap226

5.6.5 Sqlninja227

5.6.6 Squeeza228

5.7 本章小结229

5.8 快速解决方案229

5.9 常见问题解答231

第6章 利用操作系统233

6.1 概述233

6.2 访问文件系统234

6.2.1 读文件234

6.2.2 写文件248

6.3 执行操作系统命令257

6.4 巩固访问269

6.5 本章小结271

6.6 快速解决方案271

6.7 常见问题解答272

第7章 高级话题273

7.1 概述273

7.2 避开输入过滤器273

7.2.1 使用大小写变种274

7.2.2 使用SQL注释274

7.2.3 使用编码275

7.2.4 使用动态查询执行276

7.2.5 使用空字节278

7.2.6 嵌套剥离后的表达式278

7.2.7 利用截断278

7.2.8 避开自定义过滤器280

7.2.9 使用非标准入口点280

7.3 利用二阶SQL注入282

7.4 客户端SQL注入漏洞285

7.4.1 访问本地数据库286

7.4.2 攻击客户端数据库286

7.5 使用混合攻击288

7.5.1 利用捕获的数据288

7.5.2 创建跨站脚本288

7.5.3 在Oracle上运行操作系统命令289

7.5.4 利用验证过的漏洞289

7.6 本章小结290

7.7 快速解决方案291

7.8 常见问题解答292

第8章 代码层防御293

8.1 概述293

8.2 领域驱动的安全293

8.3 使用参数化语句297

8.3.1 Java中的参数化语句298

8.3.2 .NET(C#)中的参数化语句299

8.3.3 PHP中的参数化语句300

8.3.4 PL/SQL中的参数化语句301

8.4 移动应用中的参数化语句302

8.4.1 iOS应用程序中的参数化语句302

8.4.2 Android应用程序中的参数化语句302

8.4.3 HTML5浏览器存储中的参数化语句303

8.5 输入验证303

8.5.1 白名单303

8.5.2 黑名单306

8.5.3 Java中的输入验证307

8.5.4 .NET中的输入验证308

8.5.5 PHP中的输入验证309

8.5.6 在移动应用程序中检验输入309

8.5.7 在HTML5中检验输入309

8.6 编码输出310

8.7 规范化316

8.8 通过设计来避免SQL注入的危险319

8.8.1 使用存储过程319

8.8.2 使用抽象层320

8.8.3 处理敏感数据321

8.8.4 避免明显的对象名322

8.8.5 创建honeypot322

8.8.6 附加的安全开发资源323

8.9 本章小结324

8.10 快速解决方案324

8.11 常见问题解答325

第9章 平台层防御327

9.1 概述327

9.2 使用运行时保护327

9.2.1 Web应用防火墙328

9.2.2 截断过滤器333

9.2.3 不可编辑与可编辑的输入保护336

9.2.4 URL策略与页面层策略337

9.2.5 面向方面编程338

9.2.6 应用程序入侵检测系统338

9.2.7 数据库防火墙339

9.3 确保数据库安全339

9.3.1 锁定应用程序数据339

9.3.2 锁定数据库服务器343

9.4 额外的部署考虑345

9.4.1 最小化不必要信息的泄露345

9.4.2 提高Web服务器日志的详细程度349

9.4.3 将Web服务器和数据库服务器分别部署在独立主机上349

9.4.4 配置网络访问控制349

9.5 本章小结349

9.6 快速解决方案350

9.7 常见问题解答350

第10章 确认并从SQL注入攻击中恢复353

10.1 简介353

10.2 调查可疑的SQL注入攻击353

10.2.1 取证的合理实践354

10.2.2 分析数字化证据355

10.3 如果你是受害者,该怎么办?376

10.3.1 遏制安全事件376

10.3.2 评估涉及的数据377

10.3.3 通知相应人员377

10.3.4 确定攻击者在系统上执行了哪些操作?378

10.3.5 从SQL注入攻击中恢复378

10.4 小结382

10.5 快速解决方案383

10.6 常见问题解答384

第11章 参考资料387

11.1 概述387

11.2 SQL入门387

11.3 SQL注入快速参考393

11.3.1 识别SQL注入漏洞393

11.3.2 识别数据库平台395

11.3.3 Microsoft SQL Server备忘单398

11.3.4 MySQL备忘单406

11.3.5 Oracle备忘单408

11.3.6 PostgreSQL备忘单413

11.4 避开输入验证过滤器415

11.4.1 引号过滤器415

11.4.2 HTTP编码416

11.5 排查SQL注入攻击417

11.6 其他平台上的SQL注入419

11.6.1 DB2备忘单420

11.6.2 Informix备忘单420

11.6.3 Ingres备忘单422

11.6.4 Sybase备忘单423

11.6.5 Microsoft Access424

11.7 资源424

11.7.1 SQL注入白皮书424

11.7.2 SQL注入备忘单424

11.7.3 SQL注入利用工具425

11.7.4 口令破解工具425

11.8 快速解决方案425

热门推荐