i春秋试验场 CTF夺旗赛(第二季)WEB calculate、calculate2
emmmm,这个比赛是10月26结束的,刚刚好那一天去i春秋逛了一下
恰好看见有这个比赛,就做了几道题目,这两个题是跑脚本的,计算网页类算式的那种
觉得有点意思就记录一下
两道题目其实差不多,写的这个脚本两道题都可以跑,,,
直接能出答案,失败了就多运行几次就行
其实这两道题是有区别的:
第二题每个数字都用div进行了包裹,,,
网址我写的时候还能访问:
http://120.55.43.255:13001/
http://120.55.43.255:13002/
不过我直接爬取网页把标签全部丢掉了,只获取我们能看见网页里的内容
所以两道题对我来说都是一样的,替换一下网址和cookie就行了,,
虽说题目比较简单,但是我在写脚本的时候不会利用python只爬取网页内容,,,
利用了正则匹配,,所以决定记录一下:
import requests
import sys
import io
import re
import time
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
url = "http://120.55.43.255:13001/"
headers = {"Cookie": "PHPSESSID=1vd6nsqauic0q1o3jmnb9s6mg1"}
s = requests.get(url)
dr = re.compile(r'<[^>]+>',re.S).sub('',s.text).split('\n')
i = 0
while i < 20:
#print(dr)
print(i)
x = dr[6].split("=")
data = eval(x[0])
print(x[0]+"="+str(data))
time.sleep(1)
r=requests.post(url,headers=headers,data={'ans':data})
dr = re.compile(r'<[^>]+>',re.S).sub('',r.text).split('\n')
print(dr,end="\n")
i += 1
第一题:
第二题: