利用python脚本解决快速返回响应中的信息

实验吧的一道web题:抓住关键字:快!
在这里插入图片描述
这是一类型题目,就是要求计算或者得到http响应中的表达式或值并用post请求返回结果。实质就是:快速反弹包含正确信息的post请求。
解题步骤:
1.抓包,先看一下响应。如图:
在这里插入图片描述
看到了base64编码的flag,作为了响应头的内容了。注释让我们用post方法传一个名为key的参数到服务端。倘若我们这时候从响应中解码再传过去,肯定是的不到flag的,因为下一次请求时返回的响应头中的falg是会改变的。
2.写脚本

import requests
import base64
url='http://ctf5.shiyanbar.com/web/10/10.php'#目标url
s = requests.Session() # 获取Session
response = s.get(url) # 打开链接
head = response.headers # 获取相应头
flag = base64.b64decode(head['flag']).decode().split(':')[1] #获取响应头中Flag ,注意b64decode()解码后是一个二进制类型,要用decode()转化为字符串类型
postData = {'key': flag} # 构造Post请求体 
result = s.post(url,data=postData)
print(result.text)

即可得到flag。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值