速度要快 --- BugKu writeup
阿新 • • 發佈:2019-01-07
第一步:查看了原始碼,得到資訊—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值