书籍内容
web安全与防护技术是当前安全界关注的热点,本书尝试针对各类漏洞的攻防技术进行体系化整理,从漏洞的原理到整体攻防技术演进过程进行详细讲解,从而形成对漏洞和web安全的体系化的认识。本书包括五个部分,部分为基础知识,这些知识对Web攻防技术理解有着极大帮助。第二部分重点讲解各类基本漏洞的原理及攻防技术对抗方法,并针对个漏洞的测试方法及防护思路进行整理。第三部分重点讲解Web应用的业务逻辑层面安全,但由于各类Web应用的不同,因此重点通过Web应用的用户管理功能入手,讲解在用户权限的获取、分配、利用方面的各项细节问题。第四部分从Web应用整体视角提供攻防对抗过程中的技术细节,这在实际运维过程中有很大的作用。第五部分介绍Web安全防护体系建设的基本方法,包含常见的防护设备、Web防护体系建议、渗透测试方法及快速代码审计实践,深入了解在Web安全防护体系中的各部分基础内容及开展方式。
前言/序言
前 言一、为什么要写这本书随着网络的普及,人们的工作、生活已经与网络深度融合。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安全基础原理,可有效丰富个人的知识储备体系。
四、如何阅读这本书本书虽然篇