Web安全防护指南:基础篇pdf下载

Web安全防护指南:基础篇百度网盘pdf下载

作者:
简介:Web安全防护指南:基础篇
出版社:机械工业出版社
出版时间:2018-03-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介
  web安全与防护技术是当前安全界关注的热点,本书尝试针对各类漏洞的攻防技术进行体系化整理,从漏洞的原理到整体攻防技术演进过程进行详细讲解,从而形成对漏洞和web安全的体系化的认识。本书包括五个部分,第一部分为基础知识,这些知识对Web攻防技术理解有着极大帮助。第二部分重点讲解各类基本漏洞的原理及攻防技术对抗方法,并针对个漏洞的测试方法及防护思路进行整理。第三部分重点讲解Web应用的业务逻辑层面安全,但由于各类Web应用的不同,因此重点通过Web应用的用户管理功能入手,讲解在用户权限的获取、分配、利用方面的各项细节问题。第四部分从Web应用整体视角提供攻防对抗过程中的技术细节,这在实际运维过程中有很大的作用。第五部分介绍Web安全防护体系建设的基本方法,包含常见的防护设备、Web防护体系建议、渗透测试方法及快速代码审计实践,深入了解在Web安全防护体系中的各部分基础内容及开展方式。
目录
推荐序
前言
第一部分 基础知识
第1章 Web安全基础
1.1 Web安全的核心问题
1.2 HTTP协议概述
1.3 HTTPS协议的安全性分析
1.4 Web应用中的编码与加密
1.5 本章小结
第二部分 网络攻击的基本防护方法
第2章 XSS攻击
2.1 XSS攻击的原理
2.2 XSS攻击的分类
2.3 XSS攻击的条件
2.4 漏洞测试的思路
2.5 XSS攻击的利用方式
2.6 XSS漏洞的标准防护方法
2.7 本章小结
第3章 请求伪造漏洞与防护
3.1 CSRF攻击
3.2 SSRF攻击
3.3 本章小结
第4章 SQL注入
4.1 SQL注入攻击的原理
4.2 SQL注入攻击的分类
4.3 回显注入攻击的流程
4.4 盲注攻击的流程
4.5 常见防护手段及绕过方式
4.6 本章小结
第5章 文件上传攻击
5.1 上传攻击的原理
5.2 上传的标准业务流程
5.3 上传攻击的条件
5.4 上传检测绕过技术
5.5 文件解析攻击
5.6 本章小结
第6章 Web木马的原理
6.1 Web木马的特点
6.2 一句话木马
6.3 小马与大马
6.4 本章小结
第7章 文件包含攻击
7.1 漏洞原理
7.2 服务器端功能实现代码
7.3 漏洞利用方式
7.4 防护手段及对应的绕过方式
7.5 本章小结
第8章 命令执行攻击与防御
8.1 远程命令执行漏洞
8.2 系统命令执行漏洞
8.3 有效的防护方案
8.4 本章小结
第三部分 业务逻辑安全
第9章 业务逻辑安全风险存在的前提
9.1 用户管理的基本内容
9.2 用户管理涉及的功能
9.3 用户管理逻辑的漏洞
9.4 本章小结
第10章 用户管理功能的实现
10.1 客户端保持方式
10.2 用户基本登录功能实现及安全情况分析
10.3 本章小结
第11章 用户授权管理及安全分析
11.1 用户注册阶段安全情况
11.2 用户登录阶段的安全情况
11.3 密码找回阶段的安全情况
11.4 记住登录状态
11.5 用户手段管理及登录安全汇总
11.6 本章小结
第12章 用户身份识别技术及安全防护
12.1 验证码技术
12.2 验证码带来的问题
12.3 二次验证技术
12.4 身份识别技术的防护
12.5 本章小结
第13章 用户后续功能及集中
13.1 用户取得授权后的应用安全隐患
13.2 用户集中认证方式
13.3 本章小结
第14章 用户权限处理问题
14.1 用户越权的案例
14.2 越权漏洞的出现根源分析
14.3 保持用户一致性的措施
14.4 有效的用户权限管理方式
14.5 本章小结
第15章 业务流程安全基础防护方式总结
15.1 用户注册阶段
15.2 用户登录阶段
15.3 密码找回阶段
15.4 基本业务功能应用阶段
15.5 本章小结
第四部分 攻防综合视角下的Web安全防护
第16章 标准业务场景
16.1 CMS及其特征
16.2 常见的远程管理方式
16.3 本章小结
第17章 用户视角下的所见范围探测
17.1 易被忽视的whois信息
17.2 利用搜索引擎发现敏感信息
17.3 真实IP地址发现手段
17.4 真实物理地址
17.5 目标端口开放情况
17.6 目标版本特征发现
17.7 利用Web漏洞扫描工具的利与弊
17.8 分站信息查找
17.9 本章小结
第18章 用户视角下的防护手段识别
18.1 开放端口及对应业务识别
18.2 是否有防护类软件
18.3 基本漏洞的防护测试
18.4 本章小结
第19章 常用的防护方案
19.1 整体防护思路
19.2 简单的防护方案
19.3 提升安全性的基础手段
19.4 DDoS攻击及防护方法
19.5 本章小结
第五部分 常见Web防护技术及防护开展方法
第20章 Web防护技术的演进
20.1 硬件WAF
20.2 防篡改软件
20.3 云防护系统
20.4 本章小结
第21章 Web安全防护体系建议
21.1 Web安全的核心问题
21.2 现实环境下的客观因素
21.3 如何建立基本的安全框架
21.4 微软SDL安全开发流程
21.5 本章小结
第22章 渗透测试的方法及流程
22.1 渗透测试的关注点
22.2 渗透测试的阶段
22.3 渗透测试的基本要求
22.4 本章小结
第23章 快速代码审计实践
23.1 快速代码审计的基本流程
23.2 基本功能安全审计
23.3 系统防护功能的安全性分析
23.4 业务逻辑安全分析
23.5 本章小结
后记
参考文献
前言
  前言
  一、为什么要写这本书
  随着网络的普及,人们的工作、生活已经与网络深度融合。Web系统由于其高度可定制的特点,非常适合承载现有的互联网应用。目前,大量在线应用网站的出现和使用也印证了这一点。我们每个人每天都会打开各种网站搜索自己感兴趣的内容或使用某一个应用,其中每个站点的功能各不相同,业务流程也各自独立,并且站点功能及版本的迭代、更新速度非常快。同时,由于大量Web应用功能及版本的快速更新,也导致各类新型Web安全问题不断出现。尽管Web安全问题的表现形式各异,但深入分析各类安全问题的成因会发现,这些安全问题有一定的共性并能通过相关的网络安全技术来加以防御和解决。
  反观Web安全的学习过程,由于Web安全攻防涉及的技术、工具繁多,安全问题也表现出各种复杂的形式,学习者很容易被这些表象混淆,进入“只见树木不见森林”的误区,无法快速成长。因此,本书作者基于多年的安全研究、教学、工程实践经验,以帮助读者建立知识体系为目标,通过原理、方法、代码、实践的层层深入,使读者充分理解Web安全问题的成因、危害、关联,进而有效地保护Web系统,抵御攻击。
  二、本书的主要内容
  本书试图整理出Web安全防护知识的体系,因此对每一类Web安全问题,都对从原理到攻防技术的演进过程加以详细的讲解。在针对安全问题的分析方面,本书从基础的漏洞环境入手,可排除不同业务环境的干扰,更聚焦于安全问题本身。这种方式有利于帮助读者在掌握每种Web安全问题的解决方案的同时,对整个Web安全防护体系建立清晰的认知。
  本书主要内容共分为5部分,各部分内容如下。
  第一部分(包括第1章):Web应用概念庞大、涉及的协议广泛,因此,此部分没有系统地介绍所有的基础内容,而是抽取了与Web安全关系密切的协议等方面的基础知识。这些知识对后续理解Web攻防技术极为关键。
  第二部分(包括第2~8章):重点讲解Web应用中的基础漏洞,从用户端到服务器端依次开展分析。首先从主要攻击用户的跨站请求攻击入手,之后了解Web应用中的请求伪造攻击、针对Web应用于数据库交互产生的SQL注入攻击。再针对可直接上传各类危险文件的上传漏洞进行分析,并说明上传漏洞中常用的木马的基本原理。最后对服务器端的危险应用功能(文件包含、命令执行漏洞)进行分析。此部分重点讲解上述基本漏洞的原理及攻防技术对抗方法,并针对每个漏洞的测试及防护方法的技术演进思路进行整理。
  第三部分(包括第9~15章):重点讲解Web应用的业务逻辑层面的基础安全问题。Web应用基于用户管理机制来提供个性化的服务,用户的身份认证则成为安全开展Web应用的基础功能。此部分从用户的未登录状态入手,讲解用户注册行为中潜在的安全隐患。然后对用户登录过程中的安全问题进行整理,并对常见的用户身份识别技术进行原理说明。最后对用户登录后的基本功能及用户权限处理方式进行讲解。
  第四部分(包括第16~19章):主要讲解在实际Web站点上线之后的基础防护方式,并从Web整体应用的视角展示攻防对抗过程中的技术细节。重点针对Web服务潜在的基础信息泄漏方及对应处理方法进行总结。最后提供可解决大部分问题的简单防护方案,这对安全运维有较大的用途。
  第五部分(包括第20~23章):在前几部分的基础上总结Web安全防护体系建设的基本方法。本部分先从Web安全中常见的防护类设备入手,分析各类安全防护设备的特点及适用范围。之后,对目前业界权威的安全开发体系进行基本介绍,并对安全服务中的渗透测试的主要流程进行说明。最后以实例的形式展示如何进行快速的代码审计。
  以上每个部分的知识均为递进关系。第一部分和第二部分帮助读者了解Web应用中各类漏洞的原理及测试方式、防护手段等。第三部分和第四部分让读者了解业务层面和整体安全的防护方法。第五部分则从整体层间构建有效防护体系的思路。最后可综合掌握Web安全防护的整体内容,这也是本书希望读者获得的阅读效果。
  三、本书的读者对象
  本书适合所有对Web安全感兴趣的初学者以及从事安全行业的相关人员,主要包括以下几类读者:
  ·信息安全及相关专业本科生
  本书以基本的漏洞为例,循序渐进地梳理攻防对抗方式及各类漏洞的危害。信息安全及相关专业学生可根据这些内容快速入门,并以此作为基础来探索信息安全更前沿的领域。
  ·安全运维人员
  本书提供了大量漏洞利用特征及有效的安全运维方式,可供安全运维人员在实际工作中快速发现系统安全状况,并对安全漏洞进行基本的处理。
  ·安全开发人员
  本书列举了各种漏洞的原理分析及防护方式,可帮助开发人员在Web系统的开发过程中对漏洞进行规避,进而从根源上避免Web漏洞的出现。
  ·安全服务人员
  安全服务人员重点关注如何快速发现目标Web系统的安全隐患并针对问题提出处理建议。此类读者建议重点阅读本书前三部分以及最后一部分的最后两章,可为安全服务的工作开展提供更全面的技术支持。
  ·攻防技术爱好者
  对于攻防技术爱好者来说,本书提供了体系化的Web安全基础原理,可有效丰富个人的知识储备体系。
  四、如何阅读这本书
  本书虽然篇幅不大,但涉及的内容繁多,加之Web安全是一个实践性极强的领域,因此,我们对学习本书给出如下建议。
  1.需要具备的基础知识
  Web系统一般需要服务器、中间件、Web语言、数据库等多方面的支持,相应地,在Web安全防护中也会应用到上述知识。安全从业者不一定要像开发人员那样对以上内容非常熟悉,但应对以上内容有初步了解并理解基本用法。这方面的教程很多,读者可以自行选择。另外,本书的所有案例均基于PHP环境编写,因此读者如有基本的PHP知识,则能更好地理解本书的内容。
  2.具有一定编程经验
  在了解攻防技术方向之前,最好具有一定的编程经验。这些经验可帮助读者快速阅读漏洞源码及相应的语句,并可显著提升Web安全的学习效率。这里的编程经验以可独立阅读各种语言的基础示例代码为基准,并不需要有十分专业的开发能力。
  3.善用搜索引擎
  在学习Web安全的过程中会遇到非常多的基础内容或者特点,且每个人的基础并不相同。针对个人不理解的问题,建议善用各类搜索引擎来获取帮助。关于如何高效使用搜索引擎,可参考本书第四部分的讲解。
  4.动手实践
  Web安全是一个实践性很强的领域,需要通过大量的直接攻防技术练习来建立对漏洞的直观认识,并积累解决问题的经验。本书给出了大量的案例,读者可以利用这些案例进行练习,或者登录“i春秋在线培训平台”(www.ichunqiu.com)进行专项练习。
  在本书的学习阅读顺序上,建议读者顺序学习本书的各章,以便对Web安全防护建立系统认识。不同基础的读者也可根据自身情况以及关注内容进行选择性的阅读。
  五、致谢
  本书的编写工作历时两年,在整个过程中得到了永信至诚科技股份有限公司与哈尔滨工业大学(威海)网络与信息安全研究中心的同事的支持和帮助,在本书即将付梓之际,谨向他们表示最诚挚的感谢!
  感谢哈尔滨工业大学(威海)计算机科学与技术学院的迟乐军教授、谷松林老师在本书编写的各个环节中提供的支持;感谢殷亚静为本书绘制插图;感谢倪远东、王续武、刘深荣、孟晨、彭衍豪、刘骁睿、余超、卢鑫、李思锐、张鹏、雷朋荃、刘家豪、李彦哲、张瑞淇、付尧、黄欣、靳祯等对本书中案例的持续调整和完善;感谢机械工业出版社华章分社的编辑对本书的出版付出的劳动。
  限于作者水平,加之Web安全防护技术的进展迅速,本书难免存在不当和疏漏之处,恳请各位读者提出、指正!我们期待与读者的交流!
  作者
  2018年1月
精彩书摘
  Web是万维网(World Wide Web,WWW)的简称,它利用HTTP(HyperText Transfer Protocol,超文本传输协议)来建立用户与服务器之间的标准交互方式。常用的Web应用都是基于网页形式开展的,即用户输入域名,利用HTTP协议发起访问请求。服务器接收到用户请求后,根据HTTP协议向用户返回响应页面。在这个过程中,HTTP协议规定了在当前请求中需要的参数,从而实现标准化的传输效果,如图1-1所示。
  提供各种类型服务的Web网站非常多,网站是由多个页面组成的。用户可通过浏览不同的页面来开展不同的业务。HTML(Hyper Text Markup Language,超文本标记语言)规定了Web应用的页面格式。使用HTML的好处在于规定了页面的基本格式后,用户端只要利用可以解析HTML格式的浏览器即可实现访问。如图1-2所示。
  Web网站从早期只有浏览功能,逐渐发展到能支持用户进行自定义查询、支持用户登录并互动、在线交易等复杂业务。在这个过程中,需要添加额外的组件来实现上述功能。因此,目前的Web站点都会附带数据库及其他服务,从而实现对当前站点及用户信息的存储及复杂功能的支持。
  下面来分析一个常见的Web应用:访问一个网站并做一次信息查询。这个过程中涉及的服务及功能流程如图1-3所示。
  图中所示的流程与真实的大型网站应用流程并不完全一致,只用于说明基本原理。因为大型网站要同时为数以千万的用户请求提供服务,仅通过一台服务器根本无法支持海量的用户访问请求,所以会利用负载均衡、CDN、云技术、分布式数据库等技术来应对大量用户的并发访问。值得说明的是,以上所有环节均可能存在安全隐患,其中一项服务产生问题都可能影响用户的正常使用或者危害Web服务器的安全。