Basic server-side template injection (code context)
Link: https://portswigger.net/web-security/server-side-template-injection/exploiting/lab-server-side-template-injection-basic-code-context
Description:
This lab is vulnerable to server-side template injection due to the way it unsafely uses a Tornado template. To solve the lab, review the Tornado documentation to discover how to execute arbitrary code, then delete the morale.txt
file from Carlos's home directory.
You can log in to your own account using the following credentials: wiener:peter
Proof of concept:
Lakukan analisa pada setiap fitur yang ada pada sistem target
Dari hasil analisa terdapat fitur
Preferred Name
yang berfungsi untuk mengatur tampilan nama ketika melakukan posting comment pada blog yang adaKirim request perubahan preffered name tersebut ke burp suite intercept. Inputkan basic payload SSTI. Sebagai contoh disini menggunakan payload
{{7*7}}
Namun yang ditampilkan terdapat
{{}}
, seharusnya hanya nilai dari7*7
saja yang tampil. Inputkan payload7*7
tanpa{{}}
. Maka berhasil, dapat diasumsikan bahwa sudah terdapat{{}}
pada parameter tersebutSeperti yang terdapat pada informasi lab, target menggunakan teknologi tornadi python. maka dari itu dapat menggunakan informasi payload SSTI seperti yang terdapat di
SSTI (Server Side Template Injection) | HackTricks
Error tersebut terjadi karena kemungkinan asumsi sebelumnya yang memungkinkan sudah terdapat
{{}}
pada function tersebut. Jadi kita harus melakukan perumusan payload dengan menyesuaikan function tersebut dengan cara melakukan analisa lebih lanjutDari hasil analisa didapatkan payload yang tidak menampilkan error yaitu payload
7*7}}{1*1}{{4*4
. Maka tidak akan terdapat errorDari sturkur payload
7*7}}{1*1}{{4*4
ubah7*7}}
{{os.system('id')
menjadi untuk menjalankan perintah pada OS targetDengan payload diatas berhasil menjalankan perintah OS mendapatkan data id OS target. Maka dari itu, untuk menyelesaikan lab ini, hapus data morale.txt milik carlos. dengan payload
7*7}}
{{os.system('rm /home/carlos/morale.txt')
Thanks, Stay Ethical & Happy Hacking! 🍻
Last updated