GXYCTF2019

打开题目:

web45.png

计算1000次就可以拿到flag,显然就需要用Python写一个脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import requests
import re
import time

url = "http://0fbb66bc-4f8d-4e64-8918-0697e7238950.node3.buuoj.cn/index.php"
s = requests.session()
source = s.get(url)
view = source.text
equation = eval("".join(re.findall("\<br\>\<br\>(.*?)\<br\>\<br\>\<form", view)))
data = {'answer': equation}
flag = s.post(url, data=data)

for i in range(1010):
try:
equation = eval("".join(re.findall("\<br\>\<br\>(\d.*?)\<br\>\<br\>\<form", flag.text)))
flag = s.post(url, data={'answer': equation})
flag.encoding = 'utf-8'
print(flag.text)
time.sleep(0.5)
except:
Pass

需要找个时间好好学习python的正则了。