速度要快

开卷看题

题目让我们快点,并且给出了答案的格式

开车

既然要快肯定要靠脚本了

分析一下源码和响应

首先基于session,其次提示我们要把响应头中的flag字段解码然后以参数marginPOST回去

有了秋名山老司机的经验,这题就简单很多了,直接放脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import requests
import base64

# 原始URL
url = 'http://123.206.87.240:8002/web6/'

# 创建session会话
session = requests.Session()

# GET请求获取flag
http = session.get(url)

# 从HTTP响应中提取flag属性的值同时进行base64解码, 然后再次进行解码
flag = base64.b64decode(http.headers["flag"]).decode()

# flag样例: 跑的还不错,给你flag吧: ODcwNzI4
# 还需要切割flag
flag = flag.split(': ', 1)[1]

# 对提取的内容进行base64解码后还要decode一下,,,坑坑坑坑!!!!!!!!!!!!!!!
flag = base64.b64decode(flag).decode()

# 构造POST参数
post_data = {'margin': flag}

# 发送POST数据同时输出HTML
print(session.post(url=url, data=post_data).text)

测试

完美拿下

后记

本题考察脚本编写能力