实验吧之【天下武功唯快不破】

题目链接:

http://www.shiyanbar.com/ctf/1854


打开提供网站 , 发现页面中提示 :

查看源代码

发现要提交一个key参数  那key的值提交什么呢  我们看看包 看看题目想让我们干什么

发现响应头有个flag字段 值貌似是base64编码 解码一下

P0ST_THIS_T0_CH4NGE_FL4G:Y78adO1WG

 根据明文的内容我们可以判断出,题目是想让我们将响应头中的”FLAG“信息先进行base64解密,然后再尽可能快速的提交以换取真正的FLAG,实际上我们再重复一次如上步骤会发现其实他每次让我们POST的内容是不一样的,综上,我们可以编写如下的python代码:

#coding:utf-8
import requests,base64
url="http://ctf5.shiyanbar.com/web/10/10.php"
t = requests.get(url)
flag = t.headers['FLAG'] #拿到响应头的flag
flag = base64.b64decode(flag) #base64解密
flag = flag.decode() #这里还有个decode是因为要把它从bytes型转成string型
flag = flag.split(':')[1] #取后面flag的部分
data = {'key':flag} #构造key
re = requests.post(url,data=data).content #制造请求报文,发送请求
print(re)

 

猜你喜欢

转载自www.cnblogs.com/-qing-/p/11075454.html