网络信息安全学习平台---脚本关第2题

快速口算
小明要参加一个高技能比赛,要求每个人都要能够快速口算四则运算,2秒钟之内就能够得到结果,但是小明就是一个小学生没有经过特殊的培训,那小明能否通过快速口算测验呢?
这一题主要是考你如何利用编程,获取算式信息并计算其结果并提交。不可能用人工口算快速得到结果的,不要被题目所迷惑。
直接上代码(我使用的是python编写)
#!/usr/bin/env python
#-*- coding:utf_8 -*-
import re
try:
    import requests
except ImportError:
    raise SystemExit('\nimport module error ,please pip install requests!')
s = requests.Session()
header = {'Cookie': 'PHPSESSID=21043f4dd0550ef63816741ae089ea7f'}
url = 'http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
r = s.get(url, headers=header)
c = r.content
#regstr = re.compile(r'[0-9]+[*+]+[0-9]+[*+]+[0-9]+[*+]+\([0-9+]+\)')
#上面这样写的正则表达式有点啰嗦,看下面更简单的
regstr = re.compile(r'[0-9+*()]+[)]')
try:
    obj = regstr.findall(c)
    if obj:
        result = eval(obj[0])
        data = {'v':result}
        r = s.post(url,data=data,headers= header)
        print r.content
finally:
    print 'ok!!!'

运行结果如下图:

将以上结果 123iohHKHJ%^&*(jkh 填入答案中,过关:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值