18-WEB-BugkuCTF之速度要快
2018-06-30 本文已影响266人
evil_ice
一,题目--速度要快
image.png二,分析
-
1,查看网页源代码
image.png
根据显示的内容,猜测可能需要使用post提交margin的值,那么接下来就找margin对应的值。
-
2, 抓包
image.png
我们看到响应头中flag字段对应字符串“6LeR55qE6L+Y5LiN6ZSZ77yM57uZ5L2gZmxhZ+WQpzogT0RVME16ZzA=”,字符串以“=”结尾,很自然联想到可能是base64编码。base64解码为:"跑的还不错,给你flag吧: ODU0Mzg0"
- 3,我们看到base64解码后的中的字符串“ODU0Mzg0”是8位,不仅8位还看着怪怪的,再次base64解码,得到854384
- 4,接下来我们尝试构造post请求进行提交margin值。
这里值得我们注意的是,获取页面信息和提交margin值,可能需要使用同一个session,别问我为什么,我猜的,因为抓包中发现有PHPSESSION字段
代码如下:
# coding:utf-8
import requests
import base64
url = 'http://120.24.86.145:8002/web6/'
session = requests.Session()
req = session.get(url)
header_flag = req.headers['flag']
header_flag_decode = base64.decodestring(header_flag)
margin_value = header_flag_decode.split(": ")[1]
print(margin_value)
post_page = session.post(url,{"margin":base64.decodestring(margin_value)})
print(post_page.text)
三,知识点
- requests获取页面信息、头信息以及提交Post
- 抓包
- Base64编码特点