目录
一、HTTP协议
1、http属于无状态协议,请求方法如下:
2、HTTP包组成
3、HTTP回包(response)的状态响应码
二、解题步骤
1、请求方式
2、302
3、Cookie
4、基础认证
HTTP1.1版本
get、post、head
HTTP1.1版本(新增6种方法)
options、put、patch、delete、trace、connect
方法的具体解释和用法大家参考百度或自行搜索,我简单说明常见的两个:get和post
get:获取资源,数据在url上显示着,大家可以看到;
post:提交数据,数据在HTTP包里,需抓包查看。
由起始行、头部、实体(协议包要传输的内容)组成。
上述图片第1行为起始行:内容是请求方法、url、HTTP协议版本
2-8行为head头部;
头部下来空一行为实体所在,上述图片为get包,所以实体为空
图片上箭头所指为状态响应码所在位置;
不同状态码对应的意思个人总结如下;
(1)、题目提示
(2)、题目显示现在的HTTP方法是get,让我们使用CTF**B方法就可以获得flag
我们直接抓包改方法:
将get改掉;
改掉之后结果返回400错误,说明改方法不对;
所以这我们不是直接复制该方法,他的目的是让我们猜那两个**是什么,因此正确的方法是:CTFHUB;
直接拿下flag。
这一题猜那两个**很好猜,一说大家就能反应过来,主要就是大家要想到猜;
(1)、题目提示
(2)、先解释一下302
302是HTTP协议中的一个状态码(Status Code)。可以简单的理解为该资源原本确实存在,但已经被临时改变了位置。因此说明在我们抓取的包里会出现一个新的url链接来进行跳转。
(3)、点击give me Flag。抓包看包
直接拿下,很意外!
(1)、什么是cookie
简单的自我理解是:cookie是一个key-value结构的文本信息,他的作用就类似于"身份证",我们通过浏览器向服务器发起请求,如果服务器需要记录用户的状态,他就会给该用户发送一个cookie,浏览器会把它保存下来,等下次我们要再次访问这个服务器的时候,他就会直接带着cookie过去,完成用户认证。
简单的例子是:我们要访问一个资源,该网站让我们进行登录,当我们登录成功后,浏览器会记录下该网站颁发给用户的cookie,当用户再次访问这个网站时,浏览器会携带着cookie一起发送给服务器,服务器完成验证,我们直接进去了,不需要在登录页面再登陆一次。
更详细的参考大家可以看一下:深入理解Cookie - 简书 (jianshu.com)
(2)、题目提示
(3)、burpsuit抓包
cookie信息的admin=0,我们尝试将其改为1,查看效果
(4)、扔进repeater模块,进行改包
将cookie身份改为admin,成功获取flag。
(5)、拿下flag
ctfhub{ec0bfa99ed8bfc877a856761}
(1)、题目提示
在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供 用户名 和 密码 的一种方式。详情请查看 https://zh.wikipedia.org/wiki/HTTP基本认证。
(2)、开启题目
一个登录页面,而且题目还给了一个附件,打开之后是一个密码本,又说到了基础认证,因此判定这里使用爆破进行登录。
(2)、抓包查看
可以看到用户名和密码经过了base64加密,格式为:用户名:密码
(3)、扔进intruder爆破模块,进行爆破
选择爆破所在位置,点击add
payload options ==》load导入题目附件给定的密码本
payload process(对有效载荷进行处理,即添加规则)==》add添加规则
前缀为admin:
这里要注意给前缀进行base64加密后,再添加,正确格式如下: 为什么用户名是admin,看下面的图片
因为用户名和密码经过了base64加密,所以添加加密规则,选则base64-encode,点击ok
最后一步,记得取消payload encoding,因为我们的格式里有冒号,所以不能让他编码。
得到正确密码:进行解密
根据正确的密码前往登录
拿下flag。