Low
Last updated
Last updated
Di bawah ini adalah source-code dari command injection level low di DVWA.
​shell_exec()
adalah fungsi bawaan PHP yang berfungsi untuk menjalankan perintah melalui shell dan mengembalikan output yang lengkap sebagai string.
Terlihat bahwa pada baris ke-10 dan 14 program ini menjalankan perintah ping ke target yang diinputkan oleh user.
Contoh dari penggunaan program ini adalah seperti berikut:
Jika kita perhatikan source code-nya, tidak ada validasi inputan. Pada Unix/Linux, tanda ;
memungkinkan user bisa menjalankan beberapa perintah sekaligus pada satu baris yang sama.
Setelah mengetahui bahwa tidak ada validasi input, kita bisa memanfaatkan ;
untuk menjalankan perintah lainnya. Seperti contohnya 8.8.8.8; whoami
yang digunakan untuk mengetahui user yang sedang digunakan.
Kita juga bisa melihat isi dari file /etc/passwd dengan memasukkan 8.8.8.8; cat /etc/passwd
, membuat backdoor, dll. Maka dari itu, command injection ini sangatlah berbahaya.
Selanjutnya, anda bisa melakukan back connect, dengan cara reverse shell atau bind shell. Penjelasan tentang back connect bisa anda baca di sini.
;
Selain menggunakan ;
kita juga memiliki alternatif lain seperti berikut yang bisa digunakan di shell bash.
&&
— AND Operator
|
— PIPE Operator (menghapus hasil ping dari output)
Selamat! Kita telah berhasil melakukan command injection. Silahkan anda bisa mencoba melakukan eskalasi lebih lanjut.😆