**CTF中的python脚本
速度要快
题目太简单,直接讲代码
# -*- utf-8 -*-
import requests
from base64 import b64decode
s = requests.session()
a = s.get('http://123.206.87.240:8002/web6/').headers['flag']
flag = b64decode(a)
key=b64decode(flag.split(':')[1])
payload = {'margin':key}
r = s.post('http://123.206.87.240:8002/web6/',data=payload)
print (r.text)
requests.session()
requests库的session对象能够帮我们跨请求保持某些参数,也会在同一个session实例发出的所有请求之间保持cookies。
保证一个session这样才能根据给出的随机flag匹配最终flag
s.get(‘http://123.206.87.240:8002/web6/’).headers['flag’]
GET请求获取响应头中的flag值
flag = b64decode(a)
解码一次之后出现这个需要再次解码
用到了下面的方法
key=b64decode(flag.split(’:’)[1])
可以将flag解出来的语句分割成两个数组
**[1]**意思是选择第二格数组
payload = {‘margin’:key}
r = s.post(‘http://123.206.87.240:8002/web6/’,data=payload)
print (r.text)
之后传一个margin参数进去就可以