BugkuCTF: 秋名山老司机(web)

  • 题目描述:

亲请在2s内计算老司机的车速是多少

1565348110-1585852319+1424136689-501596850-364488737*872756914-663618483-1120007195*1119001272-1463806595*1200528853=?;

  • 在两秒内刷新页面后会出现提示让提交计算出来的值,且url没有变化,表明确实要两秒内提交

Give me value post about 1565348110-1585852319+1424136689-501596850-364488737*872756914-663618483-1120007195*1119001272-1463806595*1200528853=?

  • requests.post()之后,观察一下返回头headers,没什么异常,应该是提交的参数的问题:

  • 思路

             2s内,手动肯定是不行了,写个脚本先把 request 出来的内容里面的式子算出来之后,提交应该就会返回flag。

            这里把参数放到requests.post()的data中,因为data提交的数据并不放在url链接里, 而是放在url链接对应位置的地方作为数据来存储,它也可以接受一个字符串对象。
            在浏览器进行刷新操作是其实就是,一个session的多次请求,所以也要进行session 的保持

  • 脚本

import requests
import re

mysession = requests.Session()
myrequests1 = mysession.get("http://123.206.87.240:8002/qiumingshan/")
mystr = re.findall(r'<div>.*</div>', myrequests1.text)  # 第一个参数是正则,第二个参数是要截取的字符串
str_calculate = mystr[0].strip('=?;</div>')
result = {                            # 这个result也可以是字符串
    "value": eval(str_calculate)
}
#print(result)
myrequests2 = mysession.post("http://123.206.87.240:8002/qiumingshan/", data=result)
print(myrequests2.text)

奇怪的是,我跑不出来结果,对照别人正确的脚本改过之后,还是跑不出来,应该是服务器端出了问题!

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值