介于上一题小猴子太简单了,再写一题备更吧。
这个题感觉更像是一个web题,和上次那个天下武功唯快不破差不多:(https://www.jianshu.com/p/4edf871e6eee),刷新一下公式就会变化,并且中间还是个x,所以纯算肯定是不可能的了,需要借助python了。
1、首先刷新网站发现公式变化,记下url和随便提交一个值记下提交的url。
2、python爬取,用到的库有requests和BeautifulSoup,要注意的是不要直接使用requests,要使用session,可以不开新界面。代码如下
import requests
from bs4 import BeautifulSoup
url = "http://ctf5.shiyanbar.com/jia"
session = requests.session() #session可以不开新界面
r = session.get(url)
soup = BeautifulSoup(r.content,'html.parser') #使用BeautifulSoup进行解析
result = soup.p.div.string #找到要计算的string
result = result.replace('x','*') #进行替换
result = eval(result) #计算结果
payload = {'pass_key':result} #构造要提交的内容
r = session.post(url+'/index.php?action=check_pass',payload) #要提交的url
soup = BeautifulSoup(r.content,'html.parser') #太乱了,再解析一次。
print(soup)

在里面发现KEY,这里还有一个坑,这个题没说提交格式,经过实验,提交的时候不要带KEY提交,直接提交冒号后的数值。。。
网友评论