1. 程式人生 > >速度要快 --- BugKu writeup

速度要快 --- BugKu writeup

第一步:查看了原始碼,得到資訊—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值
在這裡插入圖片描述