BUUCTF WEB easy_tornado
拿到題目,打開發現三個文件:
各自查看:
查閱資料得知tornado是一個python的框架,,,
前幾天剛剛好做了個python的django的框架學習,,,
render好像是個渲染函數,,,,
看見那個hints.txt得知,我們需要知道cookie_secret是什麼就能進行文件讀取,,,
而且顯然url有點特殊!!!文件讀取,,,,嘗試?filename=/fllllllllllllag發現報錯了,,,
看着url參數後面顯示的和頁面顯示一樣,,,python的框架,,,,
可能使用了模板,嘗試python模板注入,,,,貌似可以,,,,
也沒怎麼做過模板注入的題目啊!!!!
查閱資料瞭解模板注入,,,,SSTI模板注入
還是不能信任用戶啊,,,不能受用戶控制,,,,不過好像挺難,,,,
後面查閱tornado相關資料,瞭解到有一個類似於環境變量的東西,,,handler.settings,,,,
Tornado小記 – 模板中的Handler
獲取handler.settings環境變量:
得到了cookie_secret,好辦了,編寫腳本:
import hashlib
def Md5(x):
md5 = hashlib.md5(str(x).encode("utf8")).hexdigest()
return md5
print(Md5("de539c46-345b-4025-8fc4-bf0388d35f1a"+Md5("/fllllllllllllag")))
得到flag:
不知道tornado這個的handler.settings真的可能做不出來,,,
web範圍也太廣了吧,,,,,