1、请求方式

由题目可知,考察的是HTTP请求方法,在Http/1.1协议中定义的八种方法为GET, POST 、HEAD、OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

CTFHub Http协议

进入题目后,发现提示,HTTP Method 是可以自定义的,并且区分大小写,直接用 CTFHUB 方法请求 index.php 即可拿到 flag。

CTFHub Http协议

CTFHub Http协议

CTFHub Http协议

 

2、302跳转

302是Http协议的临时重定向状态码。进入页面后发现没有任何消息,按f12进入控制台,点击Give me Flag按钮,发现页面没有任何变化,但其实页面已经发生了跳转,用curl访问新的跳转页面即可得到flag值。

CTFHub Http协议

CTFHub Http协议

CTFHub Http协议

3、cookie

访问题目页面发现给的提示是“hello guest,only admin can get flag”,我们挂上 BurpSuite 之后重新访问题目页面,在cookie发现admin=0字段,猜测服务器可能是根据此字段来判断浏览者身份。

CTFHub Http协议

我们把这个请求放入“repeater”中修改Cookie: admin=0为Cookie: admin=1后发送,发现在响应页面里包含Flag。

CTFHub Http协议

4、基本认证

在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供用户和密码的一种方式。详情请查看 https://zh.wikipedia.org/wiki/HTTP基本认证。

CTFHub Http协议

进入题目页面,发现点击click会出现认证页面,

CTFHub Http协议

挂上 BurpSuite 的代理,随便输个账号密码(比如: 账号aaa 密码 bbb)访问,查看 HTTP 响应报文:

CTFHub Http协议

CTFHub Http协议

得到提示 do u konw admin ?,于是猜测账号是 admin , 那么接下来就只需要**密码了。注意看到 HTTP 请求头部的 Authorization 字段,后面的YWFhOmjiYg==用base64 解码后是 aaa:bbb,也就是我们之前输入的账号:密码。

 使用 BurpSuite 进行基础认证**

(1)将报文发送到 Intruder, 将 Basic后面 base64部分添加为payload position

CTFHub Http协议

(2)在 Payloads选项卡下,选择 Payload Type为SimpleList,然后在 Payload Options 中点击 load 加载密码字典

CTFHub Http协议

(3)Payload Processing -> Add-> Add Prefix(添加前缀)-> 输入 admin:

    Payload Processing -> Add-> Encode(添加一个编码方式)-> 选择 Base64 Encode

CTFHub Http协议

(4)Payload Encode 取消勾选的 URL-encode, 不然你会看到base64之后的=会被转成 %3d ,你就算**到天荒地老也不会出来

CTFHub Http协议

(5)Start Attack ,然后按 Length 排序,并看到状态码出现200的,即**成功

CTFHub Http协议

CTFHub Http协议

查看 Response,得到flag

CTFHub Http协议

5、响应包源代码

题目页面打开后是一个网页版的“贪吃蛇”小游戏

CTFHub Http协议

根据题目要求是查看响应包源代码,可以使用burpsuite,也可以使用浏览器自带的开发调试工具,按f12进入调试界面,查找flag中的关键字段cfthub,就可以得到结果。

CTFHub Http协议

 

 

 

 

 

 

 

相关文章:

  • 2021-04-23
  • 2021-06-29
  • 2021-04-22
  • 2021-11-16
  • 2021-05-06
  • 2021-06-18
  • 2021-10-03
  • 2022-12-23
猜你喜欢
  • 2021-08-17
  • 2022-01-13
  • 2021-09-23
  • 2021-06-11
  • 2021-11-10
  • 2021-08-09
  • 2021-07-10
相关资源
相似解决方案