速度要快 --- BugKu writeup

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/New_feature/article/details/82974240

在这里插入图片描述
原题链接:http://120.24.86.145:8002/web6/

第一步:查看了源码,得到信息—now you have to post the margin what you find!
分析,需要一个带margin属性的post请求,猜测解题点应该再margin上面,而且需要构造请求
第二步,查看一下正常的请求头,发现里面带一个flag,关键点在这

然后通过python,获取header里面的flag,并构造post请求,把flag放在margin里面发送出去

import requests
import base64

#bugku --- 速度要快

url = 'http://120.24.86.145:8002/web6/'
req = requests.session()
res = req.get(url)

#获取请求头中的flag
flag = res.headers['flag']

#对flag进行base64解码  --- 得到的是bytes类型
flag = base64.b64decode(flag)

#把bytes类型转换成str类型    --- 即对其进行解码 详解请看 https://blog.csdn.net/lanchunhui/article/details/72681978
flag = bytes.decode(flag)

#截取字符串后面的flag字段
flag = flag[flag.index(':') + 2:]

#然后再对其进行base64解码
flag = base64.b64decode(flag)

#根据题目提示  now you have to post the margin what you find  --- 需要根据margin属性进行post请求提交
#构造data,另margin属性为爆破出来的txt
data = {'margin': flag}

#通过会话的post请求,传递data
rs = req.post(url, data)

#获取页面内容
key = rs.content

#转成str格式
key = bytes.decode(key)
print(key)

最后得到flag值
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/New_feature/article/details/82974240