1、请求方式
HTTP 请求方法, HTTP/1.1协议中共定义了八种方法(也叫动作)来以不同方式操作指定的资源。
HTTP的请求方法如图
HTTP协议的格式如图
所以根据题目描述 我们只需要将请求协议改为CTFHUB即可
ok 我们用bp进行抓包
放到repeater中 请求方式改为CTFHUB
send即可看到flag
2、302跳转
同样的,我们先来看一下什么是302跳转
https://blog.youkuaiyun.com/liangxy2014/article/details/78964928
打开题目 很明显是要找302跳转 于是bp抓包
但是我不知道为什么 一直不会出来302 在网上找了很久也没找到问题所在 于是换了了一种解法,f12可以看到index.php字样,但是我们在url改为index.php时总会跳到index.html,所以我们用bp抓包,把包改成index.php,看response,之后再里面可以找到flag
但是这个很明显不是正确做法,毕竟如果没有f12里的提示,谁会想到在index.php里呢
Cookie
Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息
通俗讲就是告诉网站你是谁,ok那么我们打开题目
告诉我们是guest,没办法访问,那么还是bp抓一下包
发现了奇怪的东西 很明显结合上文我们要把他改为1,放到repeater,改为1,send,之后看response就有flag啦
基础认证
在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供 用户名 和 密码 的一种方式。详情请查看 https://zh.wikipedia.org/wiki/HTTP基本认证
提示我们要输入账号密码,我们猜测用户名是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是认证界面的!!
找到密码 cheese,输入登录即可登录
响应包原码
直接f12查看即可