1. 程式人生 > >實驗吧 天下武功唯快不破

實驗吧 天下武功唯快不破

#小菜鳥第一次寫自己的部落格,不免小激動,文章如有錯誤,還望大佬多多指點

#學了一段時間的py,寫了幾個小爬蟲,剛好就看到了這道題可以用爬蟲來解決一下,雖然爬蟲很簡單,不過路是一步一步走出來的。

#言歸正傳

看看響應頭

格式:CTF{ }

標註是簡單的一道題,題目也只有這一句話

看看有什麼發現

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!----<<<<<<

沒什麼用,然後用Firebug,看網站的響應頭,很容易發現了FLAG UDBTVF9USElTX1QwX0NINE5HRV9GTDRHOnQ0dXplb1ZtcQ==

base64解碼後得到P0ST_THIS_T0_CH4NGE_FL4G:t4uzeoVmq

把後面的字串當做data傳送post請求

直接傳送的話得不到flag,因為這道題指出了唯快不破,所以就用到了py

我的是python3.6版本

import requests
import base64
url = "http://ctf5.shiyanbar.com/web/10/10.php"
flag=requests.get(url).headers['FLAG']
post={"key":base64.b64decode(flag).decode().split(':')[1]}
key=requests.post(url,data=post).text
print (key)

用這個小指令碼就成功地解決了唯快不破的問題

還有一個問題就是headers裡的FLAG的值是動態重新整理的,你會發現你的FLAG和我寫的我不一樣,所以如果直接把第一次得到的解碼值post過去是得不到的,當然用py實時獲取就能成功解決這個問題

第一次用Python解決問題,而且是ctf,很開心。繼續py繼續ctf。