ctf Python 程序练习

**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参数进去就可以

猜你喜欢

转载自blog.csdn.net/qq_41306131/article/details/88979126
ctf