巴士下载站 / 汇聚当下最新最酷的软件下载站!
巴士下载站
您的位置: 首页 >软件下载 > 教育教学 > 电子书籍 > Web应用安全权威指南 电子版(pdf格式)

巴士为您推荐: Web应用安全 权威指南 pdf 电子版

Web应用安全权威指南是一款由作者德丸浩 写作的电子书籍。书籍讲述了web应用的安全隐患以及产生原因,然后详细介绍了web安全的基础,如http、会话管理、同源策略等,需要的赶紧在11684下载吧!

目录:

第1章 什么是 web应用的安全隐患  1

1-1 安全隐患即“能用于作恶的bug”  2

1-2 为什么存在安全隐患会有问题  3

经济损失  3

法律要求  3

对用户造成不可逆的伤害  4

欺骗用户  4

被用于构建僵尸网络  4

1-3 产生安全隐患的原因  6

1-4 安全性 bug与安全性功能  7

1-5 本书的结构  8

第2章 搭建试验环境 9

2-1试验环境概要  10

2-2 安装 vmware player  11

什么是 vmware player  11

下载 vmware player  11

安装 vmware player  12

2-3 安装虚拟机及运行确认  14

虚拟机启动确认  14

虚拟机的使用方法  15

编辑 hosts文件  16

使用 ping确认连接  16

apache 与php的运行确认  17

设置并确认邮箱账号  17

2-4 安装 fiddler  18

什么是 fiddler  18

安装 fiddler  18

fiddler 的运行确认及简单用法  18

参考:虚拟机的数据一览  19

参考:如果无法连接试验环境的pop3服务器  20

第3章 web 安全基础:http、会话管理、同源策略  21

3-1 http 与会话管理  22

为什么要学习 http  22

最简单的 http  22

使用 fiddler观察http消息  23

请求消息  24

响应消息  24

状态行  25

响应头信息  25

如果将 http比喻为对话  25

输入-确认-注册模式  26

post 方法  28

消息体  28

百分号编码  29

referer  29

get 和post的使用区别  29

hidden 参数能够被更改  30

将 hidden参数的更改比作对话  32

hidden 参数的优点  32

无状态的 http认证  33

体验 basic认证  33

专栏  认证与授权  36

cookie 与会话管理  36

使用 cookie的会话管理  39

会话管理的拟人化解说  39

会话 id泄漏的原因  42

cookie 的属性  42

专栏  cookie monster bug  44

总结  45

3-2 被动攻击与同源策略  46

主动攻击与被动攻击  46

主动攻击  46

被动攻击  46

恶意利用正规网站进行的被动攻击  47

跨站被动攻击  48

浏览器如何防御被动攻击  48

沙盒  49

同源策略  49

应用程序安全隐患与被动攻击  52

专栏  第三方 javascript  53

javascript 以外的跨域访问  54

frame 元素与iframe元素  54

专栏  x-frame-options  54

img 元素  54

script 元素  54

css  55

form 元素的action属性  55

总结  56

第4章 web应用的各种安全隐患 57

4-1 web 应用的功能与安全隐患的对应关系  58

安全隐患产生于何处  58

注入型隐患  59

总结  60

4-2 输入处理与安全性  61

什么是 web应用的输入处理  61

检验字符编码  62

转换字符编码  62

检验并转换字符编码的实例  62

专栏  字符编码的自动转换与安全性  64

输入校验  64

输入校验的目的  64

输入校验与安全性  65

二进制安全与空字节攻击  65

仅校验输入值并不是安全性策略  66

输入校验的依据是应用程序的规格  67

哪些参数需要校验  67

php 的正则表达式库  67

使用正则表达式检验输入值的实例(1) 1~5 个字符的字母数字  68

使用正则表达式检验输入值的实例(2) 住址栏  70

专栏  请注意 mb_ereg中的d与w  70

范例  70

专栏  输入校验与框架  71

总结  72

参考:表示“非控制字符的字符”的正则表达式  73

4-3 页面显示的相关问题  75

4.3.1 跨站脚本(基础篇)  75

概要  75

攻击手段与影响  76

xss 窃取cookie值  76

通过 javascript攻击  79

篡改网页  80

反射型 xss与存储型xss  82

安全隐患的产生原因  84

html 转义的概要  84

元素内容的 xss  85

没有用引号括起来的属性值的 xss  85

用引号括起来的属性值的 xss  85

对策  86

xss 对策的基础  86

指定响应的字符编码  87

xss 的辅助性对策  88

对策总结  89

参考:使用perl的对策示例  89

使用 perl进行html转义的方法  89

指定响应的字符编码  89

4.3.2 跨站脚本(进阶篇)  90

href 属性与src属性的xss  91

生成 url时的对策.  92

校验链接网址  92

javascript 的动态生成  92

事件绑定函数的 xss  92

script 元素的xss  94

javascript 字符串字面量动态生成的对策  95

dom based xss  97

允许 html标签或css时的对策  99

参考:perl中转义unicode的函数  99

4.3.3 错误消息导致的信息泄漏  100

总结  100

继续深入学习  100

4-4 SQL 调用相关的安全隐患  101

4.4.1 sql 注入  101

概要  101

攻击手段与影响  102

示例脚本解说  102

错误消息导致的信息泄漏  103

union select 致使的信息泄漏  104

使用 sql注入绕过认证  104

通过 sql注入攻击篡改数据  106

其他攻击  107

专栏  数据库中表名与列名的调查方法  108

安全隐患的产生原因  109

字符串字面量的问题  109

针对数值的 sql注入攻击  110

对策  110

使用占位符拼接 sql语句  111

专栏  采用 mdb2的原因  111

为什么使用占位符会安全  111

参考:like语句与通配符  113

使用占位符的各种处理  114

sql 注入的辅助性对策  116

总结  117

继续深入学习  117

参考:无法使用占位符时的对策  117

参考:perl+mysql的安全连接方法  118

参考:php+pdo+mysql的安全连接方法  118

参考:java+mysql的安全连接方法  118

4-5 关键处理中引入的安全隐患  120

4.5.1 跨站请求伪造(csrf)  120

概要  120

攻击手段与影响  121

输入-执行”模式的 csrf攻击  121

csrf 攻击与xss攻击  124

存在确认页面时的 csrf攻击  125

专栏  针对内部网络的 csrf攻击  127

安全隐患的产生原因  128

对策  129

筛选出需要防范 csrf攻击的页面  129

确认是正规用户自愿发送的请求  130

专栏  令牌与一次性令牌  131

csrf 的辅助性对策  133

对策总结  133

4-6 不完善的会话管理  134

4.6.1 会话劫持的原因及影响  134

预测会话 id  134

窃取会话 id  134

挟持会话 id  135

会话劫持的方法总结  135

会话劫持的影响  135

4.6.2 会话 id可预测  136

概要  136

攻击手段与影响  136

常见的会话 id生成方法  136

使用推测出的会话 id尝试伪装  137

伪装造成的影响  137

安全隐患的产生原因  137

对策  138

改善 php的会话id的随机性的方法  138

参考:自制会话管理机制产生的其他隐患  139

4.6.3 会话 id嵌入url  139

概要  139

攻击手段与影响  140

会话 id嵌入url所需的条件  140

范例脚本解说  141

通过 referer泄漏会话id所需的条件  142

攻击流程  142

事故性的会话 id泄漏  143

影响  144

安全隐患的产生原因  144

对策  144

php  144

java servlet(j2ee)  145

asp.net  145

4.6.4 固定会话 id  145

概要  145

攻击手段与影响  146

示例脚本介绍  146

会话固定攻击解说  148

登录前的会话固定攻击  148

会话采纳  151

仅在 cookie中保存会话id的网站固定会话id  151

会话固定攻击的影响  151

安全隐患的产生原因  152

对策  152

无法更改会话 id时采用令牌  153

登录前的会话固定攻击的对策  154

总结  154

4-7 重定向相关的安全隐患  155

4.7.1 自由重定向漏洞  155

概要  155

攻击手段与影响  156

安全隐患的产生原因  159

允许自由重定向的情况  159

对策  160

固定重定向的目标 url  160

使用编号指定重定向的目标 url  160

校验重定向的目标域名  160

专栏  警告页面  162

4.7.2 http 消息头注入  162

概要  162

攻击手段与影响  163

重定向至外部域名  165

专栏  http 响应截断攻击  166

生成任意 cookie  166

显示伪造页面  168

安全隐患的产生原因  170

专栏  http 消息头与换行  171

对策  171

对策 1:不将外界参数作为http响应消息头输出  171

对策 2:执行以下两项内容  171

专栏  php 的header函数中进行的换行符校验  173

4.7.3 重定向相关的安全隐患总结  173

4-8 cookie 输出相关的安全隐患  174

4.8.1 cookie 的用途不当  174

不该保存在 cookie中的数据  174

参考:最好不要在cookie中保存数据的原因  174

专栏  padding oracle 攻击与ms10-070  176

4.8.2 cookie 的安全属性设置不完善  176

概要  176

攻击手段与影响  177

关于抓包方法的注意点  180

安全隐患的产生原因  181

什么样的应用程序不能在 cookie中设置安全属性  181

对策  181

给保存会话 id的cookie设置安全属性的方法  182

使用令牌的对策  182

使用令牌能确保安全性的原因  184

除安全属性外其他属性值需要注意的地方  184

domain 属性  184

path 属性  185

expires 属性  185

httponly 属性  185

总结  185

4-9 发送邮件的问题  186

4.9.1 发送邮件的问题概要  186

邮件头注入漏洞  186

使用 hidden参数保存收件人信息  186

参考:邮件服务器的开放转发  187

4.9.2 邮件头注入漏洞  187

概要  187

攻击手段与影响  188

攻击方式 1:添加收件人  190

攻击方式 2:篡改正文  191

通过邮件头注入攻击添加附件  192

安全隐患的产生原因  193

对策  194

使用专门的程序库来发送邮件  194

不将外界传入的参数包含在邮件头中  194

发送邮件时确保外界传入的参数中不包含换行符  195

邮件头注入的辅助性对策  195

总结  196

继续深入学习  196

10-4 文件处理相关的问题  197

4.10.1 目录遍历漏洞  197

概要  197

攻击手段与影响  198

专栏  从脚本源码开始的一连串的信息泄漏  200

安全隐患的产生原因  200

对策  201

避免由外界指定文件名  201

文件名中不允许包含目录名  201

专栏  basename 函数与空字节  202

限定文件名中仅包含字母和数字  202

总结  203

4.10.2 内部文件被公开  203

概要  203

攻击手段与影响  203

安全隐患的产生原因  204

对策  205

参考:apache中隐藏特定文件的方法  205

11-4 调用 os命令引起的安全隐患  206

4.11.1 os 命令注入  206

概要  206

攻击手段与影响  207

调用 sendmail命令发送邮件  207

os 命令注入攻击与影响  209

安全隐患的产生原因  210

在 shell中执行多条命令  210

使用了内部调用 shell的函数  211

安全隐患的产生原因总结  212

对策  212

在设计阶段决定对策方针  213

选择不调用 os命令的实现方法  213

避免使用内部调用 shell的函数  213

不将外界输入的字符串传递给命令行参数   216

使用安全的函数对传递给 os命令的参数进行转义  216

os 命令注入攻击的辅助性对策  217

参考:内部调用shell的函数  218

12-4 文件上传相关的问题  219

4.12.1 文件上传问题的概要  219

针对上传功能的 dos攻击  219

专栏  内存使用量与 cpu使用时间等其他需要关注的资源  220

使上传的文件在服务器上作为脚本执行  220

诱使用户下载恶意文件  221

越权下载文件  222

4.12.2 通过上传文件使服务器执行脚本   222

概要  222

攻击手段与影响  223

示例脚本解说  223

专栏  警惕文件名中的 xss  224

php 脚本的上传与执行  224

安全隐患的产生原因  225

对策  225

专栏  校验扩展名时的注意点  228

4.12.3 文件下载引起的跨站脚本  228

概要  228

攻击手段与影响  229

图像文件引起的 xss  229

pdf 下载引起的xss  231

安全隐患的产生原因  234

内容为图像时  234

内容不为图像时  235

对策  236

文件上传时的对策  236

专栏  bmp 格式的注意点与ms07-057   238

文件下载时的对策  238

其他对策  239

专栏  将图像托管在其他域名  240

参考:用户pc中没有安装对应的应用程序时  240

总结  241

13-4 include 相关的问题  242

4.13.1 文件包含攻击  242

概要  242

攻击手段与影响  243

文件包含引发的信息泄漏  244

执行脚本 1:远程文件包含攻击(rfi)  244

专栏  rfi 攻击的变种  245

执行脚本 2:恶意使用保存会话信息的文件  246

安全隐患的产生原因  248

对策  248

总结  248

14-4 eval 相关的问题  249

4.14.1 eval 注入  249

概要  249

攻击手段与影响  250

存在漏洞的应用  250

攻击手段  252

安全隐患的产生原因  253

对策  253

不使用 eval  253

避免 eval的参数中包含外界传入的参数  254

限制外界传入 eval的参数中只包含字母和数字  254

参考:perl的eval代码块形式  254

总结  255

继续深入学习  255

15-4 共享资源相关的问题  256

4.15.1 竞态条件漏洞  256

概要  256

攻击手段与影响  257

安全隐患的产生原因  258

对策  259

避免使用共享资源  259

使用互斥锁  259

总结  260

参考:java servlet的其他注意点  260

第5章 典型安全功能  261

5-1 认证  262

5.1.1 登录功能  262

针对登录功能的攻击  262

通过 sql注入攻击来跳过登录功能  262

通过 sql注入攻击获取用户密码  263

在登录页面进行暴力破解  263

通过社会化攻击得到用户密码  263

通过钓鱼方法获取密码  264

登录功能被破解后的影响  264

如何防止非法登录  264

确保系统中不存在 sql注入等安全性bug  264

设置难以猜测的密码  265

密码的字符种类和长度要求  265

密码的使用现状  266

应用程序设计中关于密码的需求  266

严格的密码检查原则  267

5.1.2 针对暴力破解攻击的对策  268

初步认识账号锁定  268

暴力破解攻击的检测和对策  268

字典攻击  269

joe 账号检索  269

逆向暴力破解  269

针对变种暴力破解的对策  269

5.1.3 密码保存方法  271

保护密码的必要性  271

利用加密方式进行密码保护及其注意事项  271

专栏  数据库加密和密码保护  272

利用信息摘要来进行密码保护及其注意事项   272

什么是信息摘要  272

专栏  密码学级别的散列函数需要满足的要求  273

利用信息摘要保护密码  273

威胁 1: 离线暴力破解  274

威胁 2:彩虹破解(rainbow crack)  275

威胁 3:在用户数据库里创建密码字典  276

如何防止散列值被破解  277

对策 1: salt(加盐)  277

对策 2:stretching(延展计算)  278

实现示例  278

专栏  密码泄露途径  280

5.1.4 自动登录  280

危险的实现方式示例  281

安全的自动登录实现方式  281

延长会话有效期  282

使用令牌实现自动登录  283

基于认证票的自动登录方式  286

三种方法的比较  286

如何降低自动登录带来的风险  286

5.1.5 登录表单  286

专栏  密码确实需要掩码显示吗  287

5.1.6 如何显示错误消息  288

5.1.7 退出登录功能  289

5.1.8 认证功能总结  290

参考:彩虹表原理  290

5-2账号管理  293

5.2.1 用户注册  293

邮箱地址确认  293

防止用户 id重复  295

例子 1:id相同密码不同可以注册的网站  295

例子 2:用户id没有添加唯一性约束的网站  295

应对自动用户注册  296

利用 captcha防止自动注册  296

5.2.2 修改密码  297

确认当前密码  297

修改密码后向用户发送邮件通知  298

密码修改功能容易发生的漏洞  298

5.2.3 修改邮箱地址  298

修改邮箱地址功能要考虑的安全对策  299

5.2.4 密码找回  299

面向管理员的密码找回功能  300

面向用户的密码找回功能  300

对用户进行身份确认  301

如何发送密码通知  301

5.2.5 账号冻结  302

5.2.6 账号删除  303

5.2.7 账号管理总结  303

5 3 授权  304

5.3.1 什么是授权  304

5.3.2 典型的授权漏洞  304

更改资源 id后可以查看没有权限查看的信息  304

只控制菜单的显示或不显示  305

使用 hidden参数或者cookie保存权限信息   306

授权漏洞总结  307

专栏  将私密信息嵌入 url进行授权处理  307

5.3.3 授权管理的需求设计  307

专栏  什么是角色  308

5.3.4 如何正确实现授权管理  308

5.3.5 总结  309

5 4 日志输出  310

5.4.1 日志输出的目的  310

5.4.2 日志种类  310

错误日志  311

访问日志  311

调试日志  311

5.4.3 有关日志输出的需求  311

需要记录到日志里的所有事件  312

日志里应包括的信息和格式  312

日志文件保护  312

日志文件保存位置  313

日志文件保存期限  313

服务器的时间调整  313

5.4.4 实现日志输出  313

5.4.5 总结  314

第6章 字符编码和安全 315

6-1 字符编码和安全概要  316

6-2 字符集  317

什么是字符集  317

ascii 和iso-8859-1  317

jis 规定的字符集  318

微软标准字符集  318

unicode  319

gb2312  319

gbk  319

gb18030  320

不同字符相同编码的问题  320

字符集的处理引起的漏洞  320

6-3 字符编码方式  321

什么是编码方式  321

shift_jis  321

euc-jp  325

iso-2022-jp  326

utf-16  326

utf-8  327

gb2312  329

gbk  330

gb18030  331

6-4 由字符编码引起的漏洞总结  332

字符编码方式中非法数据导致的漏洞  332

对字符编码方式处理存在纰漏导致的漏洞   332

在不同字符集间变换导致的漏洞  332

6-5 如何正确处理字符编码  333

在应用内统一使用的字符集  333

输入非法数据时报错并终止处理  335

处理数据时使用正确的编码方式  335

专栏  调用 htmlspecialchars函数时必须指定字符编码方式  336

输出时设置正确的字符编码方式  336

其他对策:尽量避免编码自动检测  337

6-6 总结  338

如何提高 web网站的安全性 第7章  339

7-1 针对 web服务器的攻击途径和防范措施  341

7.1.1 利用基础软件漏洞进行攻击  341

7.1.2 非法登录  341

7.1.3 对策  341

停止运行不需要的软件  342

定期实施漏洞防范措施  342

选定软件时确认软件的升级状况  342

确定打补丁方式  343

关注各种漏洞相关信息  344

确认漏洞后调查补丁状况以及防范对策、并制定对应计划  344

执行漏洞对应计划  345

对不需要对外公开的端口或服务加以访问限制  346

通过端口扫描确认各端口服务状态  347

提高认证强度  348

7-2 防范伪装攻击的对策  349

7.2.1 网络伪装的手段  349

针对 dns服务器的攻击  349

专栏  visa 域名问题  350

arp 欺骗攻击  350

7.2.2 钓鱼攻击  350

7.2.3 web 网站的伪装攻击对策  351

网络层的对策  351

同一网段内不放置可能存在漏洞的服务器   351

强化 dns运维  351

引入 ssl/tls  352

专栏  免费的数字证书  354

使用便于记忆的域名  354

7-3 防范网络监听、篡改的对策  355

7.3.1 网络监听、篡改的途径  355

通过无线网进行监听、篡改  355

利用交换机端口镜像  355

利用代理服务器  355

伪装成 dhcp服务器  355

使用 arp欺骗攻击和dns缓存污染攻击(dns cache poisoning)  355

7.3.2 中间人攻击  356

使用 fiddler模拟中间人攻击  356

专栏  请不要手动安装证书  358

7.3.3 对策  359

使用 ssl时的注意事项  359

专栏  ssl 认证标签  360

7-4 防范恶意软件的对策  361

7.4.1 什么是 web网站的恶意软件对策  361

7.4.2 恶意软件的感染途径  361

7.4.3 web 网站恶意软件防范对策概要  362

7.4.4 如何确保服务器不被恶意软件感染  363

探讨是否需要制定针对恶意软件的防范措施   363

制定病毒防范政策并向用户公开  363

使用防病毒软件  364

专栏  web 网站的防病毒对策和gumblar的关系  365

7-5 总结  366

开发安全的 web应用所需要的管理 第8章  367

8-1 开发管理中的安全对策概要  368

8-2 开发体制  369

开发标准的制定  369

教育培训  369

8-3 开发过程  371

8.3.1 规划阶段的注意事项  371

8.3.2 招标时的注意事项  371

专栏  谁应该对安全漏洞负责  372

8.3.3 需求分析时的注意事项  372

8.3.4 概要设计的推进方法  373

8.3.5 详细设计和编码阶段的注意事项   374

8.3.6 安全性测试的重要性及其方法  374

8.3.7 web 健康诊断基准  374

8.3.8 承包方测试  376

8.3.9 发包方测试(验收)  376

8.3.10 运维阶段的注意事项  377

8-4 总结  378

Web应用安全权威指南 电子版(pdf格式)下载(该资源已下架)
猜你喜欢
排行榜
回顶部 去下载