HTTP协议违背事件分析

  • HTTP协议违背

1.1 请求URI过长

告警信息:the requested URL's length exceeds the capacity limit

描述:HTTP请求URI长度超过默认缓冲区大小,认为其不合规

1.2 请求头部过长

告警信息:request exceeds system's limit

描述:HTTP请求头部长度超过默认的缓冲区大小,认为其不合规

1.3 响应头部过长

告警信息:request exceeds system's limit

描述:HTTP响应头部超过默认缓冲区大小,认为其不合规

1.4 请求方法字段不合规

告警信息:request method begin with non-capital letters or over load content-length

request method body contains non-capital letters

描述:HTTP请求方法不是大写的英文字符,比如:get、gET,GeT等

1.5 未知请求方法

告警信息:the requested method is unknown

描述:WAF允许的HTTP请求方法如下: GET、POST、HEAD、PUT、DELETE、MKCOL、COPY、MOVE、OPTIONS、PROPFIND、PROPPATCH、LOCK、UNLOCK、TRACE、SEARCH、CONNECT、CHECKOUT、LABEL、UPDATE、REPORT、CHECKIN、CHECKOUT、UNCHECKOUT、MERGE、MKACTIVITY、BPROPPATCH、MKWORKSPACE、VERSION-CONTROL、BASELINE-CONTROL

1.6 URL字段不合规

告警信息:request uri begin neither schema nor slash

request schema contain non-letters

request schema without slash

request schema with only one slash

request with bad host

request with bad port

描述:URI字段不合规包含以下几种情况:

<br>1、不是schema://host:port/path 形式且不以/开头,如GET abc、GET abc:def等;

<br>2、是schema://host:port/path 形式,但HOST字段无效,如:HTTP://2.2.abab.2;

<br>3、是schema://host:port/path 形式,但PORT字段无效,如:POST HTTP://2.2.2.2:2.3

1.7 HTTP版本字段不合规

告警信息:request protocol only has h,lost others

request protocol only has ht,lost others

request protocol only has htt,lost others

request protocol without splash

request protocol version major non-digit

request protocol version major too long

request protocol version minor non-digit

request protocol version minor too long

描述:HTTP版本字段不符合规范,比如:GET / H/1.1,GET / HTT/1.1,GET / HTTP/1.a,GET / HTTP/0.9(0.9版本不需要指明版本号,出现这种情况也视为不合规)

1.8 HTTP请求行不合规

告警信息:request end failed, bad CRLF

描述:HTTP请求头部首行格式为:GET+SPACE+URI-Path+HTTP/1.1+CRLF,当版本号后面不存在CRLF或CRLF不完整时,认为其不合规。

1.9 HTTP版本号不合规

告警信息:request with bad protocol version

描述:HTTP版本号不符合规范,目前只支持HTTP/1.0、HTTP/1.1这两种版本号

1.10禁止URL路径穿越

告警信息:request forbidden path through

描述:HTTP请求的URI-Path中不能出现../这样的字符,可能会造成路径穿越攻击

1.11 URI-Path包含CRLF

告警信息:request uri decode contain line feed

描述:HTTP请求的URI-Path中不能出现编码的回车换行字符,比如:GET /%0a

1.12 请求头部字段不合规

告警信息:request header end failed, bad CRLF

描述:HTTP请求头部字段中以\r\n结尾,比如:GET / HTTP/1.1\r\nHost:172.16.132.207:12345\rab\r\n\r\n

1.13 多余的请求头部

告警信息:request could not be understood

描述:HTTP请求头部中出现重复的HOST、Content-Length、Transfer-Encoding字段,认为其不合规

1.14 HTTP/1.1 缺少HOST头部

告警信息:request without header Host

描述:HTTP 1.1版本请求中不包含HOST头部时,认为其不合规

1.15 Content-Length不合规

告警信息:request method requires a valid Content-length

描述:POST和PUT请求中缺少Content-Length字段或者Content-Length数值不正确,比如:Content-Length: 或Content-Length:1.22,认为其不合规

1.16 请求chunk块size不合规

告警信息:request chunk size is erange!

request chunk size begin with not digit!

request chunk size CR without LF!

描述:HTTP请求chunk块size不以数字开头或\r\n不完整,认为其不合规

1.17 请求chunk块body不合规

告警信息:request chunk body end without CR!

request chunk body CR without LF!

描述:HTTP请求chunk块body结尾\r\n不完整,认为其不合规

1.18 请求last chunk块不合规

告警信息:request chunk last chunk end without CR!

request chunk last chunk CR without LF!

描述:HTTP请求last chunk块结尾\r\n不完整,认为其不合规

1.19 请求URI不可见字符

告警信息:request uri has invisible char!

描述:解码前的URI中包含0x00~0x1f等不可见字符认为其不合规

1.20 请求URI解码后不可见字符

告警信息:request decoded uri has invisible char!

描述:解码后的URI中包含0x00~0x1f等不可见字符认为其不合规

1.21 请求URI特殊字符

告警信息:request uri has special char!

描述:解码前的URI中包含%认为其不合规

HTTP协议违背是指在HTTP通信过程中,违了HTTP协议的规定或者最佳实践。以下是一些常见的HTTP协议违背情况: 1. 不合法的请求方法:HTTP协议规定了一些合法的请求方法,如GET、POST、PUT、DELETE等如果使用了不合法请求方法,就违背HTTP协议2. 不正确状态码使用:HTTP协议定义了一系列状态码,用于表示服务器对请求的响应状态。如果服务器返回了不的状态码,或者使用了与实情况不符的状态码,就违背HTTP协议。 3. 缺少必要的请求头或响应头:HTTP协议规定了一些必要的请求头和响应头,用于传递额外的信息或控制请求和响应的行为。如果缺少了必要的头部信息,就违背HTTP协议。 4. 不正确的请求体格式:对于使用POST或PUT方法的请求,通常需要在请求体中传递数据。如果请求体的格式不正确,无法被服务器正确解析,就违背HTTP协议。 5. 不正确的URL编码:在URL中包含特殊字符时,需要进行URL编码。如果没有正确进行URL编码,可能导致服务器无法正确解析请求。 6. 不正确的缓存控制:HTTP协议提供了缓存机制,用于优化网络传输和减轻服务器负载。如果缓存控制不正确,可能导致缓存失效或者不必要的网络传输。 7. 不安全的通信:HTTP协议本身是明文传输的,容易被窃听和篡改。如果在不安全的网络环境中使用HTTP协议进行通信,就违背了安全性要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值