秋名山老司机

开卷看题

WHAT FK?这是人能算出来的?

己所不能施于机器

既然自己搞不定那就交给脚本处理吧

Python内置了处理大数的能力,自然是最优选择

现在还有一个问题:结果怎么提交??

寻找线索

连续刷新几次页面后,发现有提示

翻译成人话:以POST方式提交value

然后看cookie,发现只有一个PHPsessionID,也就是说脚本必须维持在同一个会话里

没什么好说的,放出脚本

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

url = 'http://123.206.87.240:8002/qiumingshan/'

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

# GET 请求网页内容
http = session.get(url)

# 正则匹配提取算式
expression = re.search(r'(\d+[+\-*/])+(\d+)', http.text).group()

# 利用经典的计算表达式方法计算出大数运算的结果
result = eval(expression)

# 构造post数据
post_data = {'value': result}

# 发送POST请求并输出HTML
print(session.post(url, data=post_data).text)

撸完脚本了开始跑

拿下flag

后记

此题考查脚本编写能力,所以说开发和安全缺一不可