Bugku WEB 秋名山车神
1.打开场景,发现是一个表达式求值,而且要求是两秒之内求值,刷新发现表达式变了,手动算是不可能了,写脚本跑吧2.上脚本内容#! /usr/bin/pythonimport requests #引入request库import re#引入re库url ="http://114.67.246.176:17738/"s = requests.session()#session表示复用与目标的链接,可以多
·
1.打开场景,发现是一个表达式求值,而且要求是两秒之内求值,刷新发现表达式变了,手动算是不可能了
,写脚本跑吧
2.上脚本内容
#! /usr/bin/python
import requests #引入request库
import re #引入re库
url ="http://114.67.246.176:17738/"
s = requests.session() #session表示复用与目标的链接,可以多次以一个cookie与服务器通信
retuen = s.get(url)
equation = re.search(r'(\d+[*+-\])+(\d+)',retuen.text).group() #r'' 表示不转义 [*+-\]这四个顺序不能乱,是按ascii码值由大到小来排的,纯属规定
#group函数表示匹配到的整体,这个正则,匹配的在等号前面的全体表达式,如果写错了,可以pirnt一下看看,及时修改
result = eval(equation) #eval()函数用来执行一个字符串表达式,并返回表达式的值,也就是post要带过去的值
key = {'value':result}#创建一个字典类型用于传参
flag = s.post(url,data=key)#用post方法传上去
print(flag.text)
有意思的是由于这个运算太过复杂,php和python精度又不一样,不是每次运行都能出结果的,要么写个循环,要么自己手动多写几次
参考视频链接:https://www.bilibili.com/video/BV1ag411u7Vy/
更多推荐
已为社区贡献2条内容
所有评论(0)