CTF之Bugku 速度要快+python脚本解析

原理:请求头中的flag在不断刷新,所以要上脚本提交margin的值
在写了上一个python脚本以后,接下来的脚本都能更好的理解了
关于上一个脚本大家可以看看我的这篇博客

进入正题

点进来就是这个图,f12也没什么东西好看的
果断抓包!

你可以点开题目后,再设置代理抓包
或者点进去题目之前设置代理抓包
抓到就是这样:在这里插入图片描述
我们选中这些信息,右键点击Send to Repeater
或者选中 ctrl+R
在这里插入图片描述
我们点击那个Go
右边那一栏就会有新的信息
在这里插入图片描述
看到flag没有!!!!!!
后面还有个小等号,立马base64伺候

还有一句话OK ,now you have to post the margin what you find
这也是关键,让我们传一个margin的值上去,用post方法

然后我们就可以做一个脚本啦,上代码

import requests
import base64
url='http://123.206.87.240:8002/web6/'
r = requests.session()
headers = r.get(url).headers

mid = base64.b64decode(headers['flag'])
mid = mid.decode()

flag = base64.b64decode(mid.split(':')[1])#获得flag:后的值
data={'margin':flag}
print(r.post(url,data).text)

url=‘http://123.206.87.240:8002/web6/’
r = requests.session()
headers = r.get(url).headers

这三句是为了让我们能跟网站关联起来,可以向网站拿数据和发送数据
headers就是消息头,就是这些在这里插入图片描述

mid = base64.b64decode(headers[‘flag’])
mid = mid.decode()

拿到消息头以后,我们把那个叫flag的消息头拿出来解码
然后我发现解出来是这样的:

b'\xe8\xb7\x91\xe7\x9a\x84\xe8\xbf\x98\xe4\xb8\x8d\xe9\x94\x99\xef\xbc\x8c\xe7\xbb\x99\xe4\xbd\xa0flag\xe5\x90\xa7: MzgxMzQ1'

在这里插入图片描述
怎么跟我想的不一样???
所以我再丢回去==decode()==一下,发现

跑的还不错,给你flag吧: MzgxMzQ1

在这里插入图片描述
还要解码。。。
不过解完就是我们要提交的值了

flag = base64.b64decode(mid.split(’:’)[1])#获得flag:后的值
data={‘margin’:flag}
print(r.post(url,data).text)

用==split()方法获得“:”号后的字符,然后放到b64decode()==里面解码
再构造要提交的data
用post方法提交

就这样得到key啦!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值