bugku 速度要快 writeup

本文介绍了一种从响应头中解码Flag并获取Base64编码的Margin值的方法,通过使用同一Session提交该值来解决特定Web挑战。文章详细解释了如何利用Python的requests和base64库实现这一过程。
部署运行你感兴趣的模型镜像

一、首先查看源码,提示要用post方法提交margin的值

二、接下来就是要找到对应的margin的值,查看下响应头,可以看到有熟悉的flag字段,且是以“=”结尾,应该就是“base64”编码,解码后得到:“跑的还不错,给你flag吧: NzQ5MTAy”,大胆猜测“NzQ5MTAy”也是“base64”编码,解码后“749102”,这个数值应该就是margin的值。

 

三、直接用post方法提交margin的值,发现行不通。

 

四、我们在抓包中发现请求头中有PHPSESSID=v4f3juaih9ui07l4kfr1mbobp09ttm6e,所以应该是提交margin要与获取页面要使用同一个session,代码如下:

import requests
import base64

s = requests.Session()
URL = "http://123.206.87.240:8002/web6/"
res = s.get(URL)
flag = base64.b64decode(res.headers['flag'])
margin_value = flag.split(': ')[1]
post_res = s.post(URL,data={"margin":base64.b64decode(margin_value)})
print(post_res.text)

 

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值