• Web应用防火墙技术及应用
  • Web应用防火墙技术及应用
21年品牌 40万+商家 超1.5亿件商品

Web应用防火墙技术及应用

正版全新

19.74 6.8折 29 全新

库存11件

上海浦东
认证卖家担保交易快速发货售后保障

作者杨东晓、王嘉、程洋、李晨阳

出版社清华大学出版社

ISBN9787302519553

出版时间2019-01

装帧其他

开本16开

纸张胶版纸

定价29元

货号1027481

上书时间2024-03-11

闲暇一卷书的书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
【书    名】 Web应用防火墙技术及应用
【书    号】 9787302519553
【出 版 社】 清华大学出版社
【作    者】 杨东晓、王嘉、程洋、李晨阳
【出版日期】 2019-01-01
【版    次】 1
【开    本】 16开
【定    价】 29.00元

【编辑推荐】 
本书全面介绍Web应用防火墙(WAF)技术及应用知识。全书共8章,主要内容包括Web系统安全概述、Web应用防火墙、HTTP协议校验和访问控制、Web防护、网页防篡改、分布式拒绝服务攻击防护、威胁情报中心和Web应用防火墙典型案例。每章*后都提供了相应的思考题。
本书既适合作为网络空间安全、信息安全等专业的本科生相关专业基础课程的教材,也适合作为网络安全研究人员的入门基础读物。

【内容简介】 
本书全面介绍Web应用防火墙(WAF)技术及应用知识。全书共8章,主要内容包括Web系统安全概述、Web应用防火墙、HTTP校验和访问控制、Web防护、网页防篡改、分布式拒绝服务攻击防护、威胁情报中心和典型案例。每章*后都提供了相应的思考题。
本书由360企业安全集团针对高校网络空间安全专业的教学规划组织编写,既适合作为网络空间安全、信息安全等专业本科生相关专业基础课程教材,也适合作为网络安全研究人员的基础读物。

【目录】 
目录
第1章Web系统安全概述1
1.1Web系统安全现状1
1.2Web网站系统结构3
1.2.1静态网站3
1.2.2动态网站3
1.2.3Web服务器5
1.3Web安全漏洞6
1.3.1应用系统安全漏洞6
1.3.2Web漏洞类型6
1.3.3Web系统安全技术8
1.4Web安全威胁前沿趋势9
思考题11

第2章Web应用防火墙12
2.1WAF简介12
2.2WAF的功能及特点12
2.2.1WAF的功能13
2.2.2WAF的特点13
2.2.3WAF产品性能指标14
2.3WAF部署16
2.3.1串联防护部署模式16
2.3.2旁路防护部署模式18
2.4WAF防护原理19
2.4.1Web应用安全监测19
2.4.2双重边界20
2.4.3纵深防御体系22
思考题23Web应用防火墙技术及应用目录第3章HTTP校验和访问控制24
3.1HTTP24
3.1.1HTTP简介24
3.1.2统一资源定位符25
3.1.3HTTP请求25
3.1.4HTTP响应27
3.1.5HTTP消息28
3.1.6Cookie30
3.2HTTP校验31
3.3HTTP访问控制32
思考题33

第4章Web防护34
4.1弱密码34
4.1.1弱密码攻击34
4.1.2弱密码检测35
4.1.3弱密码防范36
4.2SQL注入36
4.2.1SQL注入攻击原理37
4.2.2SQL注入漏洞利用38
4.2.3SQL注入漏洞检测40
4.2.4SQL注入漏洞防范42
4.3跨站脚本攻击44
4.3.1XSS攻击原理45
4.3.2XSS漏洞利用47
4.3.3XSS漏洞检测48
4.3.4XSS防范49
4.4跨站请求伪造攻击52
4.4.1CSRF攻击原理52
4.4.2CSRF漏洞利用53
4.4.3CSRF漏洞检测54
4.4.4CSRF漏洞防范55
4.5恶意流量攻击57
4.5.1爬虫攻击分析57
4.5.2爬虫攻击防范62
4.5.3盗链攻击分析64
4.5.4盗链攻击防范66
4.6文件上传与下载攻击67
4.6.1文件上传攻击原理67
4.6.2文件上传攻击防范69
4.6.3文件下载攻击原理70
4.6.4文件下载攻击防范72
4.7Web服务器敏感信息泄露74
4.7.1敏感信息泄露原理74
4.7.2敏感信息泄露检测78
4.7.3敏感信息泄露防范78
思考题80

第5章网页防篡改82
5.1网页篡改的原理82
5.2攻击者常用的网页篡改方法83
5.3网页篡改防范技术85
5.3.1时间轮询技术86
5.3.2核心内嵌技术86
5.3.3事件触发技术87
5.3.43种网页防篡改技术的对比88
5.3.5网页防篡改系统90
思考题91

第6章分布式拒绝服务攻击防护92
6.1DDoS攻击原理92
6.2DDoS攻击现象与特点94
6.3DDoS攻击方式96
6.3.1攻击网络带宽资源96
6.3.2攻击系统资源100
6.3.3攻击应用资源103
6.4DDoS攻击的防御方法109
6.4.1DDoS攻击的治理109
6.4.2DDoS攻击的缓解114
思考题121

第7章威胁情报中心122
7.1威胁情报概述122
7.1.1威胁情报定义122
7.1.2威胁情报分类125
7.2威胁情报服务和威胁情报的用途126
7.3智慧Web应用防火墙128
思考题129

第8章典型案例130
8.1防数据泄露解决方案130
8.1.1背景及需求130
8.1.2解决方案及分析131
8.2防DDoS攻击解决方案132
8.2.1背景及需求132
8.2.2解决方案及分析133
8.3防网页篡改解决方案134
8.3.1背景及需求134
8.3.2解决方案及分析135

附录AWAF技术英文缩略语136

参考文献139

【文摘】 
第3章HTTP校验和访问控制

超文本传输协议(HTTP)是应用*广泛的网络协议之一。本章介绍HTTP的基本原理,然后结合HTTP的基本知识讲述HTTP校验和访问控制的原理。3.1HTTP3.1.1HTTP简介
HTTP是一种基于请求与响应模式交互数据的无状态协议。无状态是指协议对于事务处理没有记忆能力,连接关闭后服务器端不保留连接的有关信息。HTTP是应用层协议,它是万维网(World Wide Web,WWW)上能够可靠地交换文件的重要基础。万维网访问网点的具体工作过程如图31所示。
图31万维网访问网点工作过程
首先,Web服务器会不断地监听服务器提供HTTP服务的TCP端口(默认的端口为80),检测客户端向服务器发出的连接建立请求。当服务器监听到连接建立请求并与客户端建立了TCP连接后,客户端向服务器发出浏览某个页面的请求,服务器就会返回客户端所请求的页面作为响应。当用户关闭本地浏览器或者结束网站访问时,服务器释放TCP连接。这种客户端和服务器之间请求和响应的交互必须按照规定的格式并且遵循一定的规则,这些格式和规则就是超文本传输协议。
Web应用防火墙技术及应用第3章HTTP校验和访问控制3.1.2统一资源定位符
万维网以客户端服务器的方式工作,客户端向服务器发出请求,服务器向客户端返回客户端所需的万维网文档。在客户端浏览器中显示的万维网文档即平常所说的页面。那么客户端是如何定位分布在整个互联网上的万维网文档呢?为解决这个问题,万维网使用统一资源定位符(Uniform Resource Locator,URL)标志万维网上的各个文档,并使每一个文档具有唯一的URL。
URL用来表示从互联网中得到的资源位置和访问这些资源的方法,即平常所说的“网址”。而这里所说的“资源”是指在互联网上可以被任何人访问的对象,包括文件目录、文件、图像和声音等。由此可见,URL相当于一个文件名在网络范围的扩展,是互联网上任何可访问对象的指针。由于访问不同对象所使用的协议不同,URL还需要指出读取某个对象时使用的协议。
URL一般由以下4个部分组成: ://:/当客户端访问万维网的网站时,需要使用HTTP,此时URL的一般形式是http://:/其中http表示要通过HTTP来定位网络资源;“主机”是指该网站是在互联网中哪一台主机上,一般为主机在互联网上的域名或者IP地址;“端口”是指服务器监听的TCP端口号,HTTP的默认端口号是80,通常可以省略,当服务器监听的端口不是80的时候,则需要显式指定端口,例如8080;“路径”是指该资源在服务器中的路径,若省略此项,则URL会指向网站的主页,例如http: //www.example.com,即访问某个网站的主页,并省略了默认端口号80。
3.1.3HTTP请求
HTTP报文分为请求报文和响应报文两种。HTTP请求报文由请求行、请求头、请求实体3部分组成,具体结构如图32所示。
图32HTTP请求报文
1. 请求行
请求行用于说明请求类型、要访问的资源以及所使用的HTTP版本。以一个方法符号开头,以空格分开,后面跟着请求的URL和协议的版本,格式如下: Method URL HTTP-Version CRLF其中,Method表示请求方法,URL是一个统一资源定位符,HTTPVersion表示请求的HTTP版本,CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。
请求方法有多种,常用的方法有GET、POST和HEAD。
(1) GET方法: 在浏览器的地址栏中输入网址来访问网页时,浏览器采用GET方法从服务器获取资源。GET /index.html HTTP/1.1就表示它将要从服务器获取/index.html的内容。
(2) POST方法: 被请求服务器需接收附在请求后面的数据,常用于提交表单。
(3) HEAD方法: 与GET方法几乎一样,对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用HEAD方法,不必传输整个资源内容,就可以得到URL所标识的资源的信息。该方法常用于测试超链接的有效性、是否可以访问以及*近是否更新。
各个方法的解释如表31所示。表31HTTP请求方法请求方法说明GET请求获取URL所标识的资源POST在URL所标识的资源后附加新的数据HEAD请求获取由URL所标识的资源的响应消息报头PUT请求服务器存储一个资源,并用URL作为其标识DELETE请求服务器删除URL所标识的资源TRACE请求服务器回送收到的请求信息,主要用于测试或诊断CONNECT保留将来使用OPTIONS请求查询服务器的性能,或者查询与资源相关的选项和需求PATCH请求更改部分文档除了表31介绍的HTTP请求方法,WebDAV等基于HTTP的通信协议还拓展了HTTP,在GET、POST、HEAD等HTTP标准方法以外添加了一些新的方法,例如PROPFIND(查看文件属性)、PROPPATCH(设置文件属性)、MKCOL(创建文件集合)、COPY(文件复制)、MOVE(文件移动)、LOCK(文件加锁)、UNLOCK(文件解锁)等,使应用程序可直接对Web服务器进行读写。
2. 请求头
紧接着请求行之后的部分是请求头。请求头允许客户端向服务器传递请求的附加信息以及客户端自身的信息,例如请求的目的地等。请求头的详细讲解见3.1.5节。
3. 请求实体
请求实体也叫请求数据、正文,此处可以添加任意的其他数据。
3.1.4HTTP响应
在接收到HTTP请求报文后,服务器会返回一个HTTP响应报文。HTTP响应报文由状态行、响应头、响应实体3部分组成,其具体结构如图33所示。
图33HTTP响应报文
1. 状态行
状态行由HTTP版本号、状态码、描述状态的短语3部分组成。格式如下: HTTP-Version Status-Code Reason-Phrase CRLF其中,HTTPVersion表示服务器HTTP的版本,StatusCode表示服务器发回的响应状态码,ReasonPhrase表示状态代码的文本描述。
状态码由3位数字组成,左侧第*位数字定义了响应的类别,有5种可能取值,具体说明如表32所示。表32状态码取值说明状态码说明1××指示信息。表示请求已被接收,继续处理2××成功。表示请求已被成功接收、理解并接受3××重定向。表示要完成请求必须进行更进一步的操作4××客户端错误。表示请求有语法错误或请求无法实现5××服务器端错误。表示服务器未能实现合法的请求常见状态码及状态描述短语如表33所示。表33常见状态码及状态描述短语状态码及状态描述短语说明200 OK客户端请求成功400 Bad Request客户端请求有语法错误,不能被服务器所理解401 Unauthorized请求未经授权,这个状态代码必须和WWWAuthenticate报头域一起使用403 Forbidden服务器收到请求,但是拒绝提供服务404 Not Found请求资源不存在,例如输入了错误的URL500 Internal Server Error服务器发生不可预期的错误503 Server Unavailable服务器当前不能处理客户端的请求,一段时间后可能恢复正常2. 响应头
响应头允许服务器传递HTTP响应的附加信息、关于服务器的信息和对URL所标识的资源进行下一步访问的信息。响应头的详细讲解见3.1.5节。
3. 响应实体
响应实体即服务器返回资源的内容。
3.1.5HTTP消息
图34HTTP头结构示意图
HTTP消息又称HTTP头(HTTP header),包括普通头、请求头、响应头、实体头4部分。其一般结构如图34所示。
1. 普通头
在普通头中,有少数报头用于所有的请求和响应消息,但并不用于被传输的实体,只用于传输的消息。
请求时的缓存指令包括nocache(用于指示请求或响应消息不能缓存)、nostore、maxage、maxstale、minfresh、onlyifcached。
响应时的缓存指令包括public、private、nocache、nostore、notransform、mustrevalidate、proxyrevalidate、maxage、smaxage。
常用的HTTP普通头如下: 
 CacheControl: 用于指定缓存指令。缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制)。
 Date: 表示消息产生的日期和时间。
 Connection: 允许发送指定连接的选项。例如指定连接是连续的,或者指定close选项,通知服务器在响应完成后关闭连接。
2. 请求头
请求头只出现在HTTP请求中,请求头允许客户端向服务器传递请求的附加信息以及客户端自身的信息。
常用的HTTP请求头如下: 
 Host: 主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,例如Host: www.example.com: 88。
 UserAgent: 允许客户端将它的操作系统、浏览器和其他属性告诉服务器。某些网站能列出用户的操作系统名称和版本,用户所使用的浏览器的名称和版本其实是服务器从UserAgent请求头中获取的,例如UserAgent: My privacy。
 Referer: 包含一个URL,代表当前访问URL的上一个URL。例如Referer: www.example.com/login.php,代表用户从login.php来到当前网页。
 Cookie: 是一段明文显示的文本信息,常用来表明请求者身份等。Cookie的详细讲解见3.1.6节。
 Range: 可以请求正文的部分内容,多线程下载一般会用到此请求头。例如Range: bytes=0~499,表示正文头为500B。
 xforwardfor: 即XXF头,它代表请求端的IP,可以有多个,中间使用逗号隔开,例如xforwardfor: 127.0.0.1。
 Accept: 用于指定客户端接受哪些MIME类型的信息。例如,Accept: image/gif,表明客户端接受GIF图像格式的资源;Accept: text/html,表明客户端接受HTML文本。
 AcceptCharset: 用于指定客户端接受的字符集,例如AcceptCharset: gb2312。
 AcceptLanguage: 用于指定客户端接受的语言,例如AcceptLanguage: zhcn。
 AcceptEncoding: 用于指定客户端接受的内容编码,例如AcceptEncoding: gzip.deflate。
3. 响应头
响应头允许服务器传递响应的附加信息、关于服务器的信息和对URL所标识的资源进行下一步访问的信息。
常用的HTTP响应头如下: 
 Location: 用于重定向接收者到一个新的位置,服务器在接收到这个请求后会立刻访问Location响应头指向的页面,常配合302状态码使用。
 Server: 包含服务器用来处理请求的软件信息,与UserAgent请求头相对应,例如Server: ApacheCoyote/1.1。
 Refresh: 服务器通过该响应头告诉浏览器定时刷新。
 SetCookie: 用于指定服务器向客户端设置Cookie。
4. 实体头
请求和响应消息都可以传送一个实体。实体头定义了关于实体正文和请求所标识的资源的元信息。元信息也就是实体内容的属性,包括实体信息类型、长度和压缩方法等。
常用的HTTP实体头如下: 
 ContentType: 用于指明发送给接收者的实体正文的媒体类型,例如ContentType : text/html;charset=GB2312。
 ContentEncoding: 被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得ContentType实体头中所引用的媒体类型,必须采用相应的解码机制,例如ContentEncoding: gzip。
 ContentLanguage: 描述了资源所用的语言,例如ContentLanguage: zhcn。
 ContentLength: 说明实体正文的长度,以字节数的十进制来表示。
 LastModified: 说明资源的*后修改日期和时间。
 Expires: 给出响应过期的日期和时间。为了让代理服务器或浏览器在一段时间以后更新缓存中的页面(再次访问曾访问过的页面时,直接从缓存中加载,可以缩短响应时间和降低服务器负载),可以使用Expires实体头域指定页面过期的时间。
3.1.6Cookie
因为HTTP是一个无状态的协议,所以一旦数据交换完毕,客户端与服务器的连接就会关闭,再次交换数据时需要建立新的连接,这意味着服务器无法从连接上跟踪会话。即,用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。要跟踪会话,必须采用Cookie机制。
Cookie实际上是一小段文本信息。在客户端访问服务器之后,服务器会根据不同的情况,在HTTP响应头中置入SetCookie通知客户端设置Cookie。客户端浏览器会以“名称=值”的形式在本地保存Cookie。在每次进行HTTP会话时,Cookie都会作为一个字段明文放置在HTTP头中,以此传递用户的状态。
SetCookie的一般形式如下: Set-Cookie:NAME=VALUE\[;domain=DOMAIN\]\[;path=PATH\]\[;max-age=AGE\]\[;expire=EXPIRE\]\[;secure\]\[;HttpOnly\]具体示例如下: Set-Cookie:key1=example;domain=.example.com;path=/example;expire= Wednesday, 19-OCT-05 23:12:40 GMT;\[secure\]其中,第*部分是“名称=值”数据对,这部分不能省略;domain部分指定Cookie被发送到哪个服务器主机,假设domain=.example.com,则Cookie会发送到*.example.com上,如果domain为空,则domain与当前网站相同;path部分控制哪些访问能够触发该Cookie的发送,如果未指定path,Cookie将对全站生效;expire部分指明了Cookie失效的时间,如果未指定expire,Cookie只会持续到本次会话结束,但是现已被maxage取代;如果指定了secure,那么Cookie只能通过安全通道传输(即SSL通道),否则浏览器将会忽略此Cookie;而在支持HttpOnly的浏览器中,JavaScript无法读取和修改HttpOnly Cookie,这样可以让Cookie免受脚本攻击。
Cookie中可以包含除了逗号、分号、空格之外所有可打印的ASCII字符。除了服务器端的设置,浏览器中的脚本也可以通过给对象document.cookie赋值来设置页面的Cookie。
在客户端浏览器设置完Cookie后,下次访问资源的时候服务器就可以识别用户,从而实现了状态的传递。而客户端也可以读取Cookie中的内容,将Cookie作为和服务器共享数据的工具。3.2HTTP校验HTTP的使用极为广泛,但是却存在不小的安全缺陷。HTTP在设计时并未考虑信息的加密和验证,因此HTTP面临着数据的明文传输和缺乏对消息完整性的验证机制两个问题。类似网银支付、账号登录等需要安全保证的地方,如果使用HTTP可能会导致严重的信息泄露风险。
在HTTP的数据传输过程中,只要攻击者能够控制受害者网络,便可以轻易地嗅探、修改HTTP传输的内容。另外,HTTP在传输客户端请求和服务器响应时,仅仅在报文头部包含了传输的数据的长度(数据长度这一栏也可以被攻击者任意修改),而没有任何校验数据完整性的机制,这使得它极容易受到攻击者的篡改。
由于HTTP请求是由客户端

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP