Bugkuctf web速度要快

又有一道坑题来啦!!!

题目链接

打开
Bugkuctf web速度要快_第1张图片查看源码,没什么东西
Bugkuctf web速度要快_第2张图片
审查元素,也没什么东西

Bugkuctf web速度要快_第3张图片结合,提示的 “快点”这个词,我们容易想到抓包

Bugkuctf web速度要快_第4张图片看到一个flag,容易看出是base64,于是解码

Bugkuctf web速度要快_第5张图片带进去一试,好吧,不是flag,没那么简单

再解码一次Bugkuctf web速度要快_第6张图片

一堆数字,感觉应该不是flag,没这么简单吧,应该。

尝试一下,好吧果然又不是

再次点击go,发现后面的

Bugkuctf web速度要快_第7张图片一直在变化,什么原因呢?
想半天,返回到源代码,发现

Bugkuctf web速度要快_第8张图片
看来是要写脚本了

上代码

import requests
import base64
url = 'http://123.206.87.240:8002/web6/'
session = requests.Session()
req = session.get(url)
header_flag = req.headers['flag']
header_flag_decode = base64.decodestring(header_flag)
margin_value = header_flag_decode.split(": ")[1]
print(margin_value)
post_page = session.post(url,{"margin":base64.decodestring(margin_value)})
print(post_page.text)

Base64模块

encodestring, decodestring一组, 专门用来编码和解码字符串

详解
要学习更多知识的请看上方详解

split()
str.split(str="", num=string.count(str)).
通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串

margin_value = header_flag_decode.split(": ")[1]
上方的句子意思是
先以:(注意有个空格)分隔,然后取第二段,也就是变化的那一段!

运行脚本得flag

你可能感兴趣的:(CTF)