HTTP协议
定义
HTTP协议是一种超文本传输协议,是一种将万维网服务器传输超文本到本地浏览器的传输协议。
工作原理
HTTP协议的重要特点:一发一收,一问一答,即客户端向服务器发送一个请求就会得到服务器的一个响应。
请求方式
-
url
统一资源定位系统是专为标识Internet网上资源位置而设置的一种编址方式,平时所说的网页地址指的即是URL,网络上的每一个文件都有唯一的url。
URL的一般语法格式为:protocol (协议):// hostname(主机名)[:port] (端口号,可省略)/ path(路径) / [:parameters](参数,可省略)[?query](查询)#fragment(片段识别符,可省略)
协议:通常是指http 和https两种协议,如果省略默认是http://
主机名:是指存放资源的服务器的域名系统(DNS) 主机名或 IP 地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username:password@hostname)
端口:可以省略,如http的默认端口为80,但如果为特殊端口的话不可省略
路径:所要查询的文件或网站的路径
请求方式
GET:GET 是最常用的 HTTP 方法. 常用于获取服务器上的某个资源。在浏览器中直接输入 URL, 此时浏览器就会发送出一个 GET 请求。
GET请求特点:
- 首行里面第一部分就是GET
- URL里面的 query string可以是空,也可以不是空
- GET请求的header有若干个键值对结构
- GET请求的body一般为空
POST:POST方法也是一种常见的方法,用于提交用户输入的数据给服务器(如登陆界面)
POST请求的特点:
- 首行第一部分就是POST
- URL里面的query string一般是空的
- POST请求的header中有若干个键值对
- POST请求的body一般不为空(body的具体数据格式,由header中的Content-Type来描述;body的具体数据长度,由header中的Content-Length来描述)
CTFHUB技能树-http协议-请求方式
打开题目,它告诉了我们它的请求方式为GET
我们利用bp抓包来看看,我们很明显能看出来它的请求方式为GET获取index.php,我们通过题目
Use CTF**B Method,I will give your flag.可知我们可以将GET改为CTFHUB
将get改为 CTFHUB后得到flag
http的重定向
301:永久性重定向,原来的URL不再被使用,所要访问的文件或者网址都变成了新的URL,搜索引擎或者浏览器会自动将书签、历史记录、搜索引擎对应的记录中旧链接更新为新链接,再次访问时会直接访问新链接。
302:暂时性重定向,原来的URL并没有失效,只是将资源暂时存放在新的URL中,下次访问时仍然会访问旧的链接,常用于网站维护等中。
CTFHUB-HTTP协议-302跳转
打开题目后,告诉我们flag不在这里,同时有一个Give me Flag,我们点击之后发现它并不会跳转到其他页面,没有其他东西出现
我们打开开发者模式后发现其中有个302表识的文件 很可疑
我们利用bp打开后得到flag
Cookie
题目提示 我们只有admin才能得到flag,我们打开bp进行抓包
抓包后我们发现admin=0,即admin为假,我们将admin=0改为admin=1,admin为真 ,得到flag