第一题:md5(‘root’)
代码如下:1
2
3
4
5
6
7import hashlib
time=0
m1='root'
while time <500:
time+=1
m1=hashlib.md5(m1.encode('utf-8')).hexdigest()
print(m1)
第二题:秋名山的老司机
代码如下:1
2
3
4
5
6
7
8
9
10
11import requests
import re
ret=requests.session()
url="http://192.168.1.88/CODE02/"
res=ret.get(url)
number=re.findall('<br/>(.*?)</p>',res.text,flags=re.DOTALL)[0].replace('\n','')
final=eval(number)
result={'result':final}
res=ret.post(url,data=result)
print(res.text)
第三题:3秒
代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14import requests
import re
ret=requests.session()
url="http://192.168.1.88/CODE03/"
res=ret.get(url)
a=int(re.findall('<br/>a=(.*?)<br/>',res.text,flags=re.DOTALL)[0].replace('\n',''))
b=int(re.findall('<br/>b=(.*?)<br/>',res.text,flags=re.DOTALL)[0].replace('\n',''))
c=int(re.findall('<br/>c=(.*?)<br/>',res.text,flags=re.DOTALL)[0].replace('\n',''))
d=int(re.findall('<br/>d=(.*?)<br/>',res.text,flags=re.DOTALL)[0].replace('\n',''))
ss=re.findall('the answer is:(.*?)<br/>',res.text,flags=re.DOTALL)[0].replace('\n','')
final=a+b+(c*2)-d
payload={'answer':final}
res=ret.post(url,data=payload)
print(res.text)
第四题:提交就有flag
题目逻辑:通过访问页面获取get_flag参数,解密base64后post传入即可得flag
代码如下:1
2
3
4
5
6
7
8
9
10
11import requests
import base64
url="http://192.168.1.88/CODE04/"
ret=requests.session()
res=ret.get(url)
final=(res.headers['Get-flag'])
final=base64.b64decode(final).decode('utf')
payload={'SniperOJ':final}
#print(payload)
res=ret.post(url,data=payload)
print(res.text)