频道栏目
首页 > 电子书 > 网络安全 > 正文

黑客攻防技术宝典:Web 实战篇

为鼓励上传资源,我们采用积分下载方式,希望您能发布更多更好的资源互相分享

1.上传软件或电子书,源码,资料等,审核后即获2积分;如发布时设了下载需积分,其他用户下载后你将获得相应积分
2.当您首次注册时,可以获送10个下载积分,供您下载资源和熟悉网站下载的使用
3.发现资源有误或其他问题,通过举报按钮反馈后我们将奖励积分
4.您可以在论坛通过发帖等方式获取论坛货币黑豆,然后点此兑换为下载积分
5.参加本站Vip技术培训可以在有效期内不限次数下载
6.您也直接购买所需积分(1元=10积分)或直接购买包年下载权限
7.我们会不定期举办各种活动,参加活动可以获取积分,请关注下载频道首页公告。

您可能遇到这些“伪问题”:

1.资料无法解压: 请确保所有分卷均下载完毕,如果有未知后缀文件,请搜索相应解压软件;
2.chm文件无内容: 您的电脑锁定了这一文件,请右击文件属性,点击右下方“解除锁定”,关闭文件后再打开;
3.下载不下来: 请尝试重新下载(重新下载不扣积分);
4.杀毒软件报毒: 黑客安全及破解类软件容易报毒,但可正常使用,如担心安全请谨慎使用。

更多常见问题解决办法>>

软件简介

 

内容简介

 

 越来越多的关键应用现在已经迁移到网站上,这些web应用的安全已经成为各机构的重要挑战。知己知彼,方能百战不殆。只有了解web应用程序中存在的可被利用的漏洞和攻击者所采用的攻击方法,才能更有效地确保web安全。.

  本书是web安全领域专家的经验结晶,系统阐述了如何针对web应用程序展开攻击与反攻击,详细剖析了攻击时所使用的技巧、步骤和工具,条理清晰,内容全面,几乎涵盖了所有web核心技术以及web应用程序的核心功能,另外还为读者提供了作者自己开发的几个探查漏洞的工具,是一本难得一见的黑客技术实用宝典。..

 

目录回到顶部↑第1章 web应用程序安全与风险. 1

1.1 web应用程序的发展历程1

1.1.1 web应用程序的常见功能2

1.1.2 web应用程序的优点3

1.2 web应用程序安全3

1.2.1 “本站点是安全的”3

1.2.2 核心安全问题:用户可提交任意输入5

1.2.3 关键问题因素6

1.2.4 新的安全边界7

1.2.5 web应用程序安全的未来8

1.3 小结8

第2章 核心防御机制9

2.1 处理用户访问9

2.1.1 身份验证10

2.1.2 会话管理10

2.1.3 访问控制11

2.2 处理用户输入12

2.2.1 输入的多样性12

2.2.2 输入处理方法13

2.2.3 边界确认14

 

.2.2.4 多步确认与规范化16

2.3 处理攻击者17

2.3.1 处理错误17

2.3.2 维护审计日志18

2.3.3 向管理员发出警报19

2.3.4 应对攻击19

2.4 管理应用程序20

2.5 小结21

2.6 问题21

第3章 web应用程序技术22

3.1 http 22

3.1.1 http请求22

3.1.2 http响应23

3.1.3 http方法24

3.1.4 url 25

3.1.5 http消息头26

3.1.6 cookie 27

3.1.7 状态码28

3.1.8 https 29

3.1.9 http代理29

3.1.10 http验证29

3.2 web功能30

3.2.1 服务器端功能30

3.2.2 客户端功能32

3.2.3 状态与会话35

3.3 编码方案36

3.3.1 url编码36

3.3.2 unicode编码36

3.3.3 html编码37

3.3.4 base64编码37

3.3.5 十六进制编码38

3.4 下一步38

3.5 问题38

第4章 解析应用程序39

4.1 枚举内容与功能39

4.1.1 web抓取39

4.1.2 用户指定的抓取41

4.1.3 发现隐藏的内容43

4.1.4 应用程序页面与功能路径50

4.1.5 发现隐藏的参数51

4.2 分析应用程序52

4.2.1 确定用户输入进入点52

4.2.2 确定服务器端技术53

4.2.3 确定服务器端功能58

4.2.4 解析受攻击面60

4.3 小结60

4.4 问题61

第5章 避开客户端控件62

5.1 通过客户端传送数据62

5.1.1 隐藏表单字段62

5.1.2 http cookie 64

5.1.3 url参数65

5.1.4 referer消息头65

5.1.5 模糊数据66

5.1.6 asp.net viewstate 67

5.2 收集用户数据:html表单70

5.2.1 长度限制70

5.2.2 基于脚本的确认71

5.2.3 禁用的元素73

5.3 收集用户数据:厚客户端组件74

5.3.1 java applet 74

5.3.2 activex控件80

5.3.3 shockwave flash对象84

5.4 安全处理客户端数据87

5.4.1 通过客户传送数据87

5.4.2 确认客户生成的数据88

5.4.3 日志与警报89

5.5 小结89

5.6 问题89

第6章 攻击验证机制91

6.1 验证技术91

6.2 验证机制设计缺陷92

6.2.1 密码保密性不强92

6.2.2 蛮力攻击登录93

6.2.3 详细的失败消息95

6.2.4 证书传输易受攻击97

6.2.5 密码修改功能98

6.2.6 忘记密码功能99

6.2.7 “记住我”功能101

6.2.8 用户伪装功能102

6.2.9 证书确认不完善104

6.2.10 非唯一性用户名104

6.2.11 可预测的用户名105

6.2.12 可预测的初始密码105

6.2.13 证书分配不安全106

6.3 验证机制执行缺陷107

6.3.1 故障开放登录机制107

6.3.2 多阶段登录机制中的缺陷108

6.3.3 不安全的证书存储110

6.4 保障验证机制的安全111

6.4.1 使用可靠的证书111

6.4.2 安全处理证书111

6.4.3 正确确认证书112

6.4.4 防止信息泄露113

6.4.5 防止蛮力攻击114

6.4.6 防止滥用密码修改功能116

6.4.7 防止滥用账户恢复功能116

6.4.8 日志、监控与通知117

6.5 小结117

6.6 问题118

第7章 攻击会话管理119

7.1 状态要求119

7.2 会话令牌生成过程中的薄弱环节122

7.2.1 令牌有一定含义122

7.2.2 令牌可预测124

7.3 会话令牌处理中的薄弱环节130

7.3.1 在网络上泄露令牌130

7.3.2 在日志中泄露令牌133

7.3.3 令牌—会话映射易受攻击135

7.3.4 会话终止易受攻击136

7.3.5 客户暴露在令牌劫持风险之中137

7.3.6 宽泛的cookie范围138

7.4 保障会话管理的安全140

7.4.1 生成强大的令牌140

7.4.2 在整个生命周期保障

令牌的安全142

7.4.3 日志、监控与警报144

7.5 小结145

7.6 问题145

第8章 攻击访问控制147

8.1 常见漏洞147

8.1.1 完全不受保护的功能148

8.1.2 基于标识符的功能149

8.1.3 多阶段功能150

8.1.4 静态文件150

8.1.5 访问控制方法不安全151

8.2 攻击访问控制151

8.3 保障访问控制的安全154

8.4 小结158

8.5 问题158

第9章 代码注入159

9.1 注入解释型语言159

9.2 注入sql 160

9.2.1 利用一个基本的漏洞161

9.2.2 避开登录163

9.2.3 查明sql注入漏洞164

9.2.4 注入不同的语句类型166

9.2.5 union操作符168

9.2.6 “指纹识别”数据库172

9.2.7 提取有用的数据172

9.2.8 利用odbc错误消息(仅适用于ms-sql)177

9.2.9 避开过滤180

9.2.10 二阶sql注入183

9.2.11 高级利用184

9.2.12 sql注入之外:扩大数据库攻击范围193

9.2.13 sql语法与错误参考195

9.2.14 防止sql注入200

9.3 注入操作系统命令202

9.3.1 例1:通过perl注入203

9.3.2 例2:通过asp注入204

9.3.3 查找os命令注入漏洞205

9.3.4 防止os命令注入207

9.4 注入web脚本语言208

9.4.1 动态执行漏洞208

9.4.2 文件包含漏洞210

9.4.3 防止脚本注入漏洞211

9.5 注入soap 212

9.5.1 查找并利用soap注入213

9.5.2 防止soap注入214

9.6 注入xpath 214

9.6.1 破坏应用程序逻辑215

9.6.2 谨慎xpath注入216

9.6.3 盲目xpath注入216

9.6.4 查找xpath注入漏洞217

9.6.5 防止xpath注入218

9.7 注入smtp 218

9.7.1 操纵电子邮件消息头218

9.7.2 smtp命令注入219

9.7.3 查找smtp注入漏洞221

9.7.4 防止smtp注入222

9.8 注入ldap 222

9.8.1 注入查询属性223

9.8.2 修改查询过滤器224

9.8.3 查找ldap注入漏洞224

9.8.4 防止ldap注入225

9.9 小结225

9.10 问题225

第10章 利用路径遍历227

10.1 常见漏洞227

10.2 查找并利用路径遍历漏洞228

10.2.1 确定攻击目标228

10.2.2 探查路径遍历漏洞229

10.2.3 避开遍历攻击障碍231

10.2.4 利用遍历漏洞234

10.3 防止路径遍历漏洞234

10.4 小结235

10.5 问题236

第11章 攻击应用程序逻辑237

11.1 逻辑缺陷的本质 237

11.2 现实中的逻辑缺陷238

11.2.1 例1:欺骗密码修改功能238

11.2.2 例2:直接结算239

11.2.3 例3:修改保险单240

11.2.4 例4:入侵银行241

11.2.5 例5:擦除审计追踪243

11.2.6 例6:规避交易限制244

11.2.7 例7:获得大幅折扣245

11.2.8 例8:避免转义245

11.2.9 例9:滥用搜索功能247

11.2.10 例10:利用调试消息248

11.2.11 例11:与登录机制竞赛249

11.3 避免逻辑缺陷250

11.4 小结251

11.5 问题252

第12章 攻击其他用户253

12.1 跨站点脚本254

12.1.1 反射型xss漏洞254

12.1.2 保存型xss漏洞259

12.1.3 基于dom的xss漏洞261

12.1.4 现实世界中的xss攻击262

12.1.5 链接xss与其他攻击264

12.1.6 xss攻击有效载荷265

12.1.7 xss攻击的传送机制270

12.1.8 查找并利用xss漏洞271

12.1.9 httponly cookie与跨站点追踪285

12.1.10 防止xss攻击287

12.2 重定向攻击290

12.2.1 查找并利用重定向漏洞.. 291

12.2.2 防止重定向漏洞294

12.3 http消息头注入294

12.3.1 利用消息头注入漏洞295

12.3.2 防止消息头注入漏洞297

12.4 框架注入298

12.4.1 利用框架注入298

12.4.2 防止框架注入299

12.5 请求伪造299

12.5.1 本站点请求伪造299

12.5.2 跨站点请求伪造301

12.6 json劫持303

12.6.1 json 303

12.6.2 攻击json 304

12.6.3 查找json劫持漏洞305

12.6.4 防止json劫持306

12.7 会话固定306

12.7.1 查找并利用会话固定漏洞308

12.7.2 防止会话固定漏洞309

12.8 攻击activex控件309

12.8.1 查找activex漏洞310

12.8.2 防止activex漏洞312

12.9 本地隐私攻击312

12.9.1 持久性cookie 312

12.9.2 缓存web内容312

12.9.3 浏览历史记录313

12.9.4 自动完成313

12.9.5 防止本地隐私攻击314

12.10 高级利用技巧314

12.10.1 利用ajax 314

12.10.2 反dns pinning 317

12.10.3 浏览器利用框架319

12.11 小结320

12.12 问题321

第13章 定制攻击自动化322

13.1 应用定制自动化攻击322

13.2 枚举有效的标识符323

13.2.1 基本步骤323

13.2.2 探测“触点”324

13.2.3 编写攻击脚本325

13.2.4 jattack 326

13.3 获取有用的数据331

13.4 常见漏洞模糊测试334

13.5 整合全部功能:burp intruder 337

13.6 小结344

13.7 问题345

第14章 利用信息泄露346

14.1 利用错误消息346

14.1.1 错误消息脚本346

14.1.2 栈追踪347

14.1.3 详尽的调试消息348

14.1.4 服务器与数据库消息349

14.1.5 使用公共信息350

14.1.6 制造详尽的错误消息351

14.2 收集公布的信息351

14.3 使用推论352

14.4 防止信息泄露353

14.4.1 使用常规错误消息353

14.4.2 保护敏感信息354

14.4.3 尽量减少客户端信息泄露354

14.5 小结354

14.6 问题355

第15章 攻击编译型应用程序357

15.1 缓冲区溢出漏洞357

15.1.1 栈溢出358

15.1.2 堆溢出358

15.1.3 “一位偏移”漏洞359

15.1.4 查找缓冲区溢出漏洞361

15.2 整数漏洞362

15.2.1 整数溢出362

15.2.2 符号错误363

15.2.3 查找整数漏洞363

15.3 格式化字符串漏洞364

15.4 小结365

15.5 问题366

第16章 攻击应用程序架构367

16.1 分层架构367

16.1.1 攻击分层架构368

16.1.2 保障分层架构的安全370

16.2 共享主机与应用程序服务提供商371

16.2.1 虚拟主机372

16.2.2 共享的应用程序服务372

16.2.3 攻击共享环境373

16.2.4 保障共享环境的安全376

16.3 小结378

16.4 问题378

第17章 攻击web服务器379

17.1 web服务器配置缺陷379

17.1.1 默认证书379

17.1.2 默认内容380

17.1.3 目录列表383

17.1.4 危险的http方法384

17.1.5 web服务器作为代理服务器385

17.1.6 虚拟主机配置缺陷387

17.1.7 保障web服务器配置的安全387

17.2 web服务器软件漏洞388

17.2.1 缓冲区溢出漏洞388

17.2.2 路径遍历漏洞389

17.2.3 编码与规范化漏洞389

17.2.4 查找web服务器漏洞391

17.2.5 保障web服务器软件的安全392

17.3 小结393

17.4 问题393

第18章 查找源代码中的漏洞394

18.1 代码审查方法394

18.1.1“黑盒”测试与

“白盒”测试394

18.1.2 代码审查方法395

18.2 常见漏洞签名396

18.2.1 跨站点脚本396

18.2.2 sql注入397

18.2.3 路径遍历397

18.2.4 任意重定向398

18.2.5 os命令注入399

18.2.6 后门密码399

18.2.7 本地代码漏洞399

18.2.8 源代码注释401

18.3 java平台401

18.3.1 确定用户提交的数据401

18.3.2 会话交互402

18.3.3 潜在危险的api 402

18.3.4 配置java环境405

18.4 asp.net 406

18.4.1 确定用户提交的数据406

18.4.2 会话交互407

18.4.3 潜在危险的api 407

18.4.4 配置asp.net环境410

18.5 php 410

18.5.1 确定用户提交的数据411

18.5.2 会话交互412

18.5.3 潜在危险的api 412

18.5.4 配置php 环境416

18.6 perl 418

18.6.1 确定用户提交的数据418

18.6.2 会话交互418

18.6.3 潜在危险的api 419

18.6.4 配置perl环境420

18.7 javascript 421

18.8 数据库代码组件421

18.8.1 sql注入422

18.8.2 调用危险的函数422

18.9 代码浏览工具423

18.10 小结424

18.11 问题424

第19章 web应用程序黑客工具包426

19.1 web浏览器426

19.1.1 internet explorer 426

19.1.2 firefox 427

19.1.3 opera 428

19.2 集成测试套件429

19.2.1 工作原理429

19.2.2 特性比较439

19.2.3 拦截代理服务器替代工具443

19.3 漏洞扫描器445

19.3.1 扫描器探测到的漏洞445

19.3.2 扫描器的内在限制447

19.3.3 扫描器面临的技术挑战448

19.3.4 当前产品449

19.3.5 使用漏洞扫描器451

19.4 其他工具451

19.4.1 nikto 451

19.4.2 hydra 452

19.4.3 定制脚本452

19.5 小结454

第20章 web应用程序渗透测试方法论... 456

 

 

 

 

前言回到顶部↑  本书是发现并利用Web应用程序安全漏洞的实用指南。这里的“Web 应用程序”是指通过使用Web浏览器与Web服务器进行通信,从而加以访问的应用程序。本书不仅分析了大量各种各样的技术,如数据库、文件系统与Web服务器,而且讨论了它们在Web应用程序中的使用情况。.

  如果你想了解如何运行端口扫描、攻击防火墙或以其他方式对服务器进行渗透测试,我们建议你阅读其他书籍。但是,如果你希望了解渗透测试员如何攻击Web应用程序、窃取敏感数据、执行未授权操作,那么本书可以满足你的需要。本书将就以上主题展开全面而详实的讨论。

  本书概述

  本书极其注重实用性。虽然我们提供了足够的背景信息与理论知识,以帮助读者了解Web应用程序中包含的漏洞;但是,渗透测试员在攻击Web应用程序时所需要实施的步骤及采用的技巧,才是我们讨论的重点所在。本书详细阐述了探查每一种漏洞所需采用的特定步骤,以及如何利用它执行未授权操作。我们还根据多年的工作经验,列出大量实例,说明在当今Web应用程序中存在的各种安全漏洞。

  另一方面,安全意识就像一把双刃剑。开发者能够从了解攻击者所使用的方法中受益;相反,黑客也可以通过了解应用程序的防御机制而窥探它的受攻击面。除介绍安全漏洞与攻击技巧外,我们还将详细介绍应用程序为抵御攻击者而采用的应对措施。同时,Web应用程序渗透测试员还可以从本书中获得大量实用的建议,以帮助应用程序所有者强化他们的应用程序。

  本书目标读者

  本书的目标读者是Web应用程序渗透测试员,以及负责开发和管理Web应用程序的人,因为了解你的敌人有助于对他们进行有效防御。

  我们希望读者熟悉核心安全概念,如登录和访问控制;并希望读者掌握基本的核心Web技术,如浏览器和HTTP。通过阅读本书提供的解释说明或其他参考资料,可以迅速弥补当前读者在这些领域的知识欠缺。

  在介绍各种安全漏洞的过程中,我们将提供代码片断,说明应用程序为何易受攻击。这些示例都非常简单,不需要事先了解编写代码的语言就能够理解它们;但是,已经掌握阅读或编写代码的基础知识会更有用。

  本书结构

  总体而言,本书根据不同主题之间的依赖关系将内容组织在一起。如果你还不了解黑客是如何攻击Web应用程序的,应该从头至尾读完本书,以了解在后续有关章节中需要用到的背景信息和技巧。如果你在这方面已经拥有一定的经验,可以直接跳到特别感兴趣的任何章节或部分。必要时,我们将提供其他章节的交叉参考,以帮助你弥补理解上的欠缺。

  本书前3章介绍一些背景信息,描述当前Web应用程序的安全状况,说明它将来的发展趋势。然后将介绍影响Web应用程序的核心安全问题,以及应用程序为解决这些问题所采取的防御机制。同时还将介绍当前Web应用程序所使用的关键技术。

  本书的主要部分重点讨论核心主题——渗透测试员在攻击Web应用程序时使用的技巧。我们根据实施全面攻击所需要完成的关键任务组织材料,这些任务依次为:解析应用程序的功能,检查和攻击它的核心防御机制,探查特殊类型的安全漏洞。

  最后3章对本书涵盖的各种主题进行简要总结:描述如何在应用程序源代码中查找漏洞;回顾能够帮助渗透测试员攻击Web应用程序的工具;详细介绍一种攻击方法,说明渗透测试员如何对一个目标应用程序实施全面而深入的攻击。

  第1章描述当前在因特网上运行的Web应用程序的安全状况。尽管软件商常常保证Web应用程序是安全的,但绝大多数的应用程序并不真正安全;只要掌握一些技巧,就能够攻破它们。Web应用程序中的漏洞源于一个核心问题:用户可提交任意输入。这一章将分析造成当今应用程序安全状况不佳的关键因素,并说明Web应用程序中存在的缺陷如何使得组织的全面技术基础架构非常易于受到攻击。

  第2章描述Web应用程序为解决“所有用户输入都不可信”这个基本问题而采用的核心安全机制。应用程序通过这些机制管理用户访问、控制用户输入、抵御攻击者。这些机制还为管理员提供各种功能,帮助他们管理和监控应用程序自身。应用程序的核心安全机制还是它的主要受攻击面,在对它们实施有效攻击前,渗透测试员必须了解这些机制的工作原理。

  第3章简要介绍渗透测试员在攻击Web应用程序时可能遇到的关键技术,包括相关HTTP协议、客户与服务器端常用的技术以及各种数据编码方案。已经熟悉主要Web技术的读者可以跳过本章。

  第4章描述渗透测试员在攻击一个新的应用程序时所需采取的第一步,即收集与应用程序有关的尽可能多的信息,以确定它的受攻击面,制定攻击计划。渗透测试员需要搜索并探查应用程序,枚举它的全部内容与功能,确定所有用户输入进入点并查明它所使用的技术。

  第5章描述了存在漏洞的第一个区域。如果一个应用程序依靠在客户端实现的控件来保护它的安全,就可能造成这种漏洞。这种保护应用程序的方法往往存在缺陷,因为攻击者可轻易避开任何客户端控件。应用程序易于受到攻击的原因有两个:(1)通过客户传送数据,认为这些数据不会被修改;(2)依赖客户端对用户输入进行检查。这一章将介绍一系列有用的技术,包括HTML、HTTP与JavaScript所采用的轻量级控件,以及使用Java applet、ActiveX控件和Shockwave Flash对象的重量级控件。

  第6~8章将主要介绍Web应用程序中最重要的防御机制——负责控制用户访问的机制。第6章描述应用程序确认用户身份的各种功能,包括主登录功能和更加外围的与验证有关的功能,如用户注册、密码修改和账户恢复功能。验证机制在设计和执行方面都包含大量漏洞,攻击者能够利用它们获得未授权访问。这些漏洞包括明显的缺陷,如保密性不强的密码和易于受到蛮力攻击,以及验证逻辑中存在的更微妙的问题。这一章还将详细分析许多安全性至关重要的应用程序所采用的多阶段登录机制,并描述这些机制中频繁出现的新型漏洞

您对本软件有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力
下载地址:
您正在下载:ionic参考手册 中文CHM版百度网盘下载

相关下载
图文推荐
论坛推荐
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站