0
点赞
收藏
分享

微信扫一扫

ctf-web-秋名山车神

老榆 2022-04-22 阅读 59

题目:

打开网址:

多刷新几次:

 可知需要快速的将网页中给出的公式的结果post传参给value,于是建立会话,如下:

import requests
import re
url = 'http://114.67.175.224:18100/'
rr = requests.session()
re1 = rr.get(url).text
v = re.findall("<div>.*</div>", re1)[0][5:-9]
v2 = re.findall("\+|\-|\*", v)
num=re.findall("\d*",v)
sum=0
num1=list()
for i in range(0,10):
    if i==0 or i==10:
        num1.append(int(num[i*2]))
    if v2[i]=='+' or v2[i]=='-':
        if v2[i]=='-':
            num1.append(-int(num[2*(i+1)]))
        else:
            num1.append(int(num[2 * (i + 1)]))
    if v2[i]=='*':
        va=num1[-1]*int(num[2*(i+1)])
        num1[-1]=va
for j in num1:
    sum+=j
data={"value":str(sum)}
re2=rr.post(url,data).text
print(re2)

得到flag:

 这里我弄复杂了,忘了可以用eval函数直接实现字符串里是算法:

import requests
import re
url = 'http://114.67.175.224:18100/'
rr = requests.session()
re1 = rr.get(url).text
v = re.findall("<div>.*</div>", re1)[0][5:-9]
value=eval(v)
data={"value":value}
re2=rr.post(url,data).text
print(re2)
举报

相关推荐

0 条评论