攻防世界-web-高手進階區018-easytornado


1.查看主頁面

 

 

 

2.查看其他頁面,/welcome.txt

http://111.198.29.45:39004/file?filename=/welcome.txt&filehash=9aeecdd1844b70a3c4c719d2303cfaeb

 

 

 

/hints.txt

http://111.198.29.45:39004/file?filename=/hints.txt&filehash=9226131c021e8a84f91c65972c94ca3b

 

 

 

/flag.txt

http://111.198.29.45:39004/file?filename=/flag.txt&filehash=ed15d1deebc3e76eaf460728563f05d7

 

 

 

3.從上面三個頁面來看

flag/fllllllllllllag文件中

url中的filehashmd5(cookie_secret+md5(filename))

可以構造payload為:file?filename=/fllllllllllllag&filehash=********************

filename已知道,只差filehash

4.直接輸入/fllllllllllllag嘗試,url跳轉頁面為

 

 

 

5./welcome.txt頁面看到render,可能會是SSTI模板注入

SSTI模板注入詳情:https://blog.csdn.net/zz_Caleb/article/details/96480967

嘗試驗證:

傳遞error?msg={{2}},頁面出現2

傳遞error?msg={{2*3}},頁面出現ORZ(但並不是cookie
嘗試除和減操作符也是)返回ORZ,說明是操作符背過濾了。

 

 

 

6.通過模板注入如何拿到tornado中的cookie,用的就是handler.settings對象

handler 指向RequestHandler

RequestHandler.settings又指向self.application.settings

所有handler.settings就指向RequestHandler.application.settings了!

傳遞error?msg={{ handler.settings }}得到:

 

 

 

7.使用md5加密構造計算出filehash的值,md5(cookie_secret+md5(/fllllllllllllag))

 

 

 

8.傳遞參數得到flag

 

 

 

 

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM