[護網杯 2018]easy_tornado-1|SSTI注入
- 2022 年 8 月 12 日
- 筆記
- BUUCTF刷題記錄, SSTI注入
1、打開之後給出了三個連接,分別查看下三個連接內得資訊,結果如下:
2、url中參數包含一個文件名與一串應該是md5得加密的字元串,文件名已經獲得了,就需要獲取加密得字元串,但是加密字元串時需要使用到cookie_secret。搜索下tornado render資訊,顯示是找到模板進行渲染,因此就想到了ssti注入。
3、開始思考獲取cookie_secret,未在三個頁面中發現存在可利用得地方,然後就只能開始目錄掃描,發現了error頁面,就想到了修改前面正常的參數,然後看下報錯介面,發現了錯誤介面的msg參數,結果如下:
4、測試下msg參數是否存在ssti注入,payload:{{2*2}},返回ORZ,開始還以為是提示,發現並沒有啥用,是對我們的參數進行了過濾,但是也確定了這裡可以注入,結果如下:
5、在tornado官方網站和網上查找資料,最終得到handler指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了,官方文檔說明如下:
點擊self.application.settings後如下:
所以在注入點輸入handler.settings進行測試,最終得到cookie_secret,結果如下:
6、獲取到cookie_secret之後,那就根據之前文件獲取的md5(cookie_secret+md5(filename))進行加密,獲取加密值:eef1ef9f2f68ad8887830b86bcac0120,結果如下:
7、獲取到加密之後在訪問文件得url下修改文件名和加密的字元串進行訪問,成功獲得flag值,payload:/file?filename=/fllllllllllllag&filehash=eef1ef9f2f68ad8887830b86bcac0120,結果如下: