[實(shí)驗(yàn)吧](Web)天下武功唯快不破

題目鏈接:

http://www.shiyanbar.com/ctf/1854


分析:

  1. 打開(kāi)提供網(wǎng)站 , 發(fā)現(xiàn)頁(yè)面中提示 :
  There is no martial art is indefectible, while the fastest speed is the only way for long success.>>>>>>
  ----You must do it as fast as you can!----<<<<<<
  沒(méi)有武術(shù)的不敗,而最快速度是長(zhǎng)期成功的唯一途徑。>>>>>>
  ----你必須盡你所能的快!---- <<<<<<
  1. 查看網(wǎng)頁(yè)源碼 , 發(fā)現(xiàn)結(jié)尾處有一段注釋 :
<!-- please post what you find with parameter:key -->
  1. 提示讓我們查看"響應(yīng)頭" , 并將數(shù)據(jù)以POST的形式發(fā)送 :
Paste_Image.png
  1. 在響應(yīng)頭中發(fā)現(xiàn)了KEY, 看起來(lái)像是一個(gè)Base64編碼, 解碼后發(fā)現(xiàn)是 : "P0ST_THIS_T0_CH4NGE_FL4G:FD13AeAje", 多次嘗試后發(fā)現(xiàn), ':'后面的數(shù)據(jù)是隨機(jī)生成的

  2. 嘗試是用Chrome瀏覽器的PostMan插件進(jìn)行Post方式提交 :
    (也可以利用其他的工具 : 火狐/自定義相應(yīng)頭是用nc進(jìn)行提交/利用Python腳本)

  3. 但是并沒(méi)有出現(xiàn)結(jié)果 , 又想到剛才的提示中提到 , 要盡可能得快速提交 , 因此開(kāi)始寫(xiě)腳本 :

# coding:utf8
import requests
import base64
url = "http://ctf4.shiyanbar.com/web/10.php" # 目標(biāo)URL
s = requests.Session() # 獲取 Session
response = s.get(url) # 打開(kāi)鏈接
head = response.headers # 獲取響應(yīng)頭
flag = base64.b64decode(head['flag']).split(':')[1] # 獲取相應(yīng)頭中的Flag
print flag # 打印Flag
postData = {'key': flag} # 構(gòu)造Post請(qǐng)求體
result = s.post(url=url, data=postData) # 利用Post方式發(fā)送請(qǐng)求 
# (注意要在同一個(gè)Session中 , 有的時(shí)候還需要設(shè)置Cookies , 但是此題不需要)
print result.text # 打印響應(yīng)內(nèi)容

答案:
CTF{Y0U_4R3_1NCR3D1BL3_F4ST!}


知識(shí)點(diǎn):

  1. Base64
  2. Base64編碼/解碼
  3. 響應(yīng)頭
  4. 利用Python的Requests庫(kù)發(fā)送Post請(qǐng)求
  5. Python的Requests庫(kù)API
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容