http://hackinglab.cn/ShowQues.php?type=scripts
第2题:快速口算
小明要参加一个高技能比赛,要求每个人都要能够快速口算四则运算,2秒钟之内就能够得到结果,但是小明就是一个小学生没有经过特殊的培训,那小明能否通过快速口算测验呢?
这里的过关地址,每次get请求得到的数据都是变化的,所以需要我们使用脚本获取到相应的数据,并使用脚本计算,这个就很容易了。
这里使用的是python脚本实现的,以下是代码:
#!/usr/bin/env python
# -*- coding: gbk -*-
# -*- coding: utf-8 -*-
import re
try:
import requests
except ImportError:
raise SystemExit('\n[!] requests模块导入错误,请执行pip install requests安装!')
s = requests.Session()
url = 'http://1.hacklist.sinaapp.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
r = s.get(url)
res = unicode(r.content, 'utf-8').encode('gbk')
# print res
num = re.findall(re.compile(r'<br/>\s+(.*?)='), res)[0]
print '当前获取到需要口算的表达式及计算结果为:\n\n%s=%d\n' % (num, eval(num))
r = s.post(url, data={'v': eval(num)})
print re.findall(re.compile(r'<body>(.*?)</body>'), r.content)[0]