速度要快bugku!wp

2021-09-24 12:22:30 字數 1078 閱讀 8912

這是一道bugku平台的一道web題,今天距上一次寫ctf題差不多有兩個月了,抱歉!走了一趟寫策劃書的開發路線(發現自己真語言組織能力太low,而且也沒啥開發經驗,就像寫作文一樣次次都是寫著文件走創意賽,,,),打算回歸我的ctf正常軌道,希望還能趕上之前的朋友們進度,為自己鼓勵!!!!

屁話太多,會被打,言歸正題

首先這題是一周前寫的,今天重做了一遍

開啟**,常規操作f12看下原始碼,檢視**頭資訊

**貼上:

import requests

import base64

url = ""

r = requests.session()

headers = r.get(url).headers

str1 = base64.b64decode(headers['flag'])

#str1 = str1.decode() //防止下行**split函式出錯

#str2 = base64.b64decode(str1.split(':')[1])

str2 = base64.b64decode(repr(str1).split(':')[1]) # repr()函式將物件轉化為供直譯器讀取的形式(bety->str)

data =

print (r.post(url,data).text)

得到flag值:key

沒有加str1 = str1.decode()那一步時一直報錯;

——是因為字串有byte型別和str型別,有時運算元型別和操作型別不匹配就會報錯……這時候就要把型別轉換一下(無論是轉換運算元還是操作都行,只要兩者匹配

乙個簡單的方法:

1、byte型轉str型

str1 = str1.decode()
2、str型轉byte型

str1 = str1.encode()
後來發現另一篇部落格用repr函式解決了上述問題。

bugku 速度要快

在源 裡有乙個提示,說傳遞margin引數,但是又不知道傳什麼,在響應頭里有個flag,應該是base64加密的,然後解密後發現好像還可以再解密一次,讓後再此解密,所以就把base64解密的數值傳過去試試。但是好像它一直在變,讓後就要寫指令碼自動傳遞,我也不知道為啥。寫指令碼和一直變又什麼聯絡嗎,但...

bugku 速度要快

開啟題目 抓包 但是多go幾次就會發現flag值是動態改變的,所以傳送post請求時必須與get請求在同一會話下才能行。先把flag拿去base64解碼 py指令碼如下 import requests import base64 url session requests.session myrequ...

bugku 速度要快

發現了注釋資訊以及head裡面有flag欄位,明顯是乙個base64,嘗試解密提交失敗。注釋說要傳送乙個key為margin的post資料,重新整理多次發現flag都不同,所以只能指令碼了 import requests import base64 import re 正則匹配模組 s reques...