Bugku CTF-web19 速度要快
解题
打开url显示;
没什么有用信息,打开源码看一下;
注释信息提示,需要post传一个margin值。
首先抓包,发现head里面有flag字段,明显是一个base64;
用在线工具解码;
输入字符串报错,说明并没有这么容易就拿到了flag值,看着这字符串好像还是base64编码过,再一次解码得;
尝试过发现又不是真正值flag值,看了大佬的文章,说需要用python跑,得知每次访问URL,显示的flag值都会变,可以用抓包工具去验证,如下:
第一次抓包;
第二次抓包;
编写python脚本;
import requests
import base64
url="http://114.67.246.176:10354/"
r=requests.session()
headers=r.get(url).headers#因为flag在消息头里
mid=base64.b64decode(headers['flag'])
mid=mid.decode()# byte型转str型,为了下一步用split不报错,b64decode后操作的对象是byte类型的字符串,而split函数要用str类型的
flag = base64.b64decode(mid.split(':')[1])#获得flag:后的值
data={'margin':flag}
print (r.post(url,data).text)#post方法传上去
执行语句;
运行完得到flag值。
参考文章: