本来想要跳过这章直接进入正题,但如果写那些攻击原理的时候边讲HTTP的东西,感觉会有点混乱,於是就有了这篇的诞生。
HTTP 全称 HyperText Transfer Protocol,是一个IPS(Inernet Protocol Suite)中应用层(Application layer)的一种协议。用作客户端和服务器端之间的Request和Response的标准。
另外需要知道的是HTTP URI Scheme,直接上范例比较容易理解:
http://example.com:80/index.php?id=1#section-1.1
http://<主机>:/<路径>?<查询(quary)>#<段落(fragment)>
<文字>
的方式跳转到指定的文字段落:碍於篇幅 HTTP先介绍到这里,有兴趣可以看RFC文件
当你对网站发起一个Request时,会遵循格式发送
先看下面的例子,这是对google发起的request,每行结尾都有一组CRLF(\r\n)
GET / HTTP/1.1
Host: google.com
Sec-Ch-Ua: " Not A;Brand";v="99", "Chromium";v="92"
Sec-Ch-Ua-Mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
X-Client-Data: CKLbygE=
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate
Accept-Language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7
Connection: close
第1行是 request line,格式为:
method target http-version
对应
GET / HTTP/1.1
在RFC 7231、5789中定义了以下Method,除此之外也可以客制化Method。
从第2行开始是各式各样的headers,又依据用途分为四种类型,在後面的攻击会再详细介绍:
下篇预告: HTTP Verb Tampering
<<: [Day15] 学 Reactstrap 就离 React 不远了 ~ 用 Tooltips 熟悉 useState
>>: [DAY 4] _ 用Keil5直接编写暂存器操控MCU的GPIO口_(建Keil5环境)
一转眼30天的文章就快到尾声啦,在结束之前这两天会跟大家分享关於网站分析以及SEO优化的部分,网站分...
while回圈计算1加到100: for回圈计算1加到100: break跟continue的范例:...
前言 昨天问了面试网页前端的问题,收到板上前辈的许多回应真的是受宠若惊,让我感受到IT人的刚性温暖非...
今天要介绍的Decorator Pattern,跟昨天的Composite Pattern都是属...
函式 一个函式内会包装一段执行的动作,可以被重复的使用 如何宣告函式 宣告函式时,需要使用 func...