java用HttpURLConnection来打开连接,注意两次base64解码,第二次POST请求头里加上第一个GET的cookie值
解码两次,脑洞大开
我觉得最难的地方在于理解作者给的提示信息.....特别是英语不好的人
import requests import base64 url="http://114.67.175.224:14487/" s = requests.Session() print(s.post(url, data={'margin': base64.b64decode(base64.b64decode(s.get(url).headers['fla
s = requests.Session() print(s.post(url, data={'margin': base64.b64decode(base64.b64decode(s.get(url).headers['flag']).decode().split()[-1]).decode()}).text)
flag{dcdf42cbf7502ab5983f55eaee98205d}
1.Python request模块get抓包,使用session维持会话 2.获取headers的flag参数,两次解码获得flag的关键随机参数 3.将随机参数写入data的margin键,以POST的形式发送请求,将返回的数据.text输出flag
py3返回的不是str类型,需要加一个decode()转换;传输的margin需要两次base64解码
注意两次请求cookie要保持一致,python的requests可以用requests.session
flag{dcf453f468af7bc9b991c3e87cd04c02}