一盅弛,題目--速度要快
image.png
二侨拦,分析
-
1,查看網(wǎng)頁(yè)源代碼
image.png
根據(jù)顯示的內(nèi)容,猜測(cè)可能需要使用post提交margin的值禀苦,那么接下來(lái)就找margin對(duì)應(yīng)的值矫俺。
-
2呻澜, 抓包
image.png
我們看到響應(yīng)頭中flag字段對(duì)應(yīng)字符串“6LeR55qE6L+Y5LiN6ZSZ77yM57uZ5L2gZmxhZ+WQpzogT0RVME16ZzA=”滥崩,字符串以“=”結(jié)尾,很自然聯(lián)想到可能是base64編碼。base64解碼為:"跑的還不錯(cuò)妓笙,給你flag吧: ODU0Mzg0"
- 3若河,我們看到base64解碼后的中的字符串“ODU0Mzg0”是8位,不僅8位還看著怪怪的寞宫,再次base64解碼萧福,得到854384
- 4,接下來(lái)我們嘗試構(gòu)造post請(qǐng)求進(jìn)行提交margin值辈赋。
這里值得我們注意的是鲫忍,獲取頁(yè)面信息和提交margin值,可能需要使用同一個(gè)session钥屈,別問(wèn)我為什么悟民,我猜的,因?yàn)樽グ邪l(fā)現(xiàn)有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)
三篷就,知識(shí)點(diǎn)
- requests獲取頁(yè)面信息射亏、頭信息以及提交Post
- 抓包
- Base64編碼特點(diǎn)