[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)

前言

CTFHub->Web->Web前置技能->HTTP协议->Writeup

1.请求方式

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第1张图片
题目分析:

# Use CTF**B Method,Iwill give you flag
也就是告诉你,用`CTF**B`的请求方式去访问就会给flag
姿势1:curl命令
姿势2:burp

我这里选的curl命令,因为简单嘛

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第2张图片

请求成功,flag回显在了窗口中

2.302跳转

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第3张图片

题目分析:

点击 "Give me flag"
发现有302跳转
于是可以想到用burp去抓包
然后丢到repeater模块重发

最后在响应报文中发现flag:

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第4张图片

3.Cookie

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第5张图片

发现自己权限不够,常规思路都是抓包,看看有没有可疑的参数

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第6张图片

果然如我们想的一样

Cookie:admin=0

直接丢进repeater,把0改成1即可得到flag:

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第7张图片

4.基础认证

HTTP基本认证(维基百科)

简介

在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供用户名和密码的一种方式。

在进行基本认证的过程里,请求的HTTP头字段会包含Authorization字段,形式如下: Authorization: Basic <凭证>,该凭证是用户和密码的组和的base64编码。

电文认证过程
(1).客户端请求(没有认证信息)
GET /private/index.html HTTP/1.0
Host: localhost
(2).服务端应答
HTTP/1.0 401 Authorization Required
Server: HTTPd/1.0
Date: Sat, 27 Nov 2004 10:18:15 GMT
WWW-Authenticate: Basic realm="Secure Area"
Content-Type: text/html
Content-Length: 311


<HTML>
  <HEAD>
    <TITLE>ErrorTITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
  HEAD>
  <BODY><H1>401 Unauthorized.H1>BODY>
HTML>
(3).客户端请求(有认证信息)

用户名“"Aladdin”,密码, password “open sesame”

GET /private/index.html HTTP/1.0
Host: localhost
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Authorization消息头的用户名和密码的值可以容易地编码和解码。

(4).服务端的应答
HTTP/1.0 200 OK
Server: HTTPd/1.0
Date: Sat, 27 Nov 2004 10:19:07 GMT
Content-Type: text/html
Content-Length: 10476

题目分析

现在差不多明白基本认证的概念了,开始分析题目:

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第8张图片

思路分析:

用户名:admin
附件:10_million_password_list_top_100.txt
说明我们需要爆破
用burp抓包,发现我们输入的密码被加密了
很明显是base64
把加密后的密文解密
发现是我们刚输入的密码和admin组合之后再进行base64加密

所以现在就需要写一个脚本对附件中的密码批量进行base64加密

贴一个别人的脚本:

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第9张图片
然后丢进burp的intruder模块爆破

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第10张图片

爆破成功,访问正确的密码的数据包,即可得到flag!

5.响应包源代码

查看源码即可得到flag

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第11张图片

结语

到此http协议模块就结束了.

[CTF刷题篇]CTFHub之Web前置技能HTTP协议Writeup(5/5)_第12张图片

你可能感兴趣的:(每日CTF,#,CTFHub)