ctfhub技能树—Web前置技能—HTTP协议

1、请求方式

HTTP 请求方法, HTTP/1.1协议中共定义了八种方法(也叫动作)来以不同方式操作指定的资源。

HTTP的请求方法如图ctfhub技能树—Web前置技能—HTTP协议_第1张图片
HTTP协议的格式如图ctfhub技能树—Web前置技能—HTTP协议_第2张图片
所以根据题目描述 我们只需要将请求协议改为CTFHUB即可
ctfhub技能树—Web前置技能—HTTP协议_第3张图片
ok 我们用bp进行抓包
ctfhub技能树—Web前置技能—HTTP协议_第4张图片
放到repeater中 请求方式改为CTFHUB
ctfhub技能树—Web前置技能—HTTP协议_第5张图片
send即可看到flagctfhub技能树—Web前置技能—HTTP协议_第6张图片

2、302跳转

同样的,我们先来看一下什么是302跳转

https://blog.csdn.net/liangxy2014/article/details/78964928

打开题目 很明显是要找302跳转 于是bp抓包
ctfhub技能树—Web前置技能—HTTP协议_第7张图片

但是我不知道为什么 一直不会出来302 在网上找了很久也没找到问题所在 于是换了了一种解法,f12可以看到index.php字样,但是我们在url改为index.php时总会跳到index.html,所以我们用bp抓包,把包改成index.php,看response,之后再里面可以找到flag
ctfhub技能树—Web前置技能—HTTP协议_第8张图片
但是这个很明显不是正确做法,毕竟如果没有f12里的提示,谁会想到在index.php里呢

Cookie

Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息

通俗讲就是告诉网站你是谁,ok那么我们打开题目ctfhub技能树—Web前置技能—HTTP协议_第9张图片
告诉我们是guest,没办法访问,那么还是bp抓一下包
ctfhub技能树—Web前置技能—HTTP协议_第10张图片
发现了奇怪的东西 很明显结合上文我们要把他改为1,放到repeater,改为1,send,之后看response就有flag啦
ctfhub技能树—Web前置技能—HTTP协议_第11张图片

基础认证

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

ctfhub技能树—Web前置技能—HTTP协议_第12张图片
提示我们要输入账号密码,我们猜测用户名是admin,因为密码在附件中给了我们一个文件,这个时候可以用bp抓包之对密码进行爆破,但是我在网上看到一个脚本的方法,感觉更简单一点,也不用转码

import requests
username = 'admin'
url = 'http://challenge-284cdbc78b256813.sandbox.ctfhub.com:10080/flag.html'
with open('password.txt','r') as f:
    lines = f.readlines()
    for pwd in lines:
        password = pwd.rstrip('\n')
        auth = requests.auth.HTTPBasicAuth(username,password)
        print(auth)
        res = requests.get(url=url,auth=auth)
        response = res.status_code
        if response==200:
            print('password is %s'%(passw

里面的url是认证界面的!!
ctfhub技能树—Web前置技能—HTTP协议_第13张图片
找到密码 cheese,输入登录即可登录

响应包原码

直接f12查看即可

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