核心提示:网络信息安全攻防平台脚本关快速口算快速口算分值: 350小明要参加一个高技能比赛,要求每个人都要能够快速口算四则运算,2秒钟之内就能够得到结果,但是小明就是一个小学生没有经过特殊的培训,那小明能否通过...
网络信息安全攻防平台脚本关快速口算
快速口算
分值: 350
小明要参加一个高技能比赛,要求每个人都要能够快速口算四则运算,2秒钟之内就能够得到结果,但是小明就是一个小学生没有经过特殊的培训,那小明能否通过快速口算测验呢?

每次进入题目的数据都是不一样的,所以我们只能写脚本来解决。恰好最近在学python,但从来没写过脚本,所以就百度了一下write up ,但发现里面用了正则,看不懂啊!!!!,所以还是决定自己写。先看一下源码
<html> <head> <meta http-equiv=Content-Type content="text/html;charset=utf-8"> </head> <body> <form action="" method="post"> 请在2秒内口算结果并提交!<br/> 5849*20617+138*(5849+20617)=<input type="text" name="v"/> <input type="submit" value="提交"/> </form> </body> </html>
要计算的式子在
<br/>和=之间
代码如下:
#coding=utf-8 import requests #导入requests模块,(requests是python的第三方库,要事先安装) url='http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php' s=requests.Session() r=s.get(url) res=r.content #获取网页内容 a=res.find('<br/>') b=res.find('=',a) #找到我们要计算的式子的前后位置 num=res[a+7:b] #将计算式赋值给一个变量 r=s.post(url,data={'v':eval(num)}) #eval():计算num的值, print r.content
结果:
<html> <head> <meta http-equiv=Content-Type content="text/html;charset=utf-8"> </head> <body><span style="color:#3366FF;"><u>key is 123iohHKHJ%^&*(jkh</u></span> </body> </html>