Lab: Remote code execution via web shell upload (11) | Apprentice

Dinnuhoni Trahutomo
3 min readJun 15, 2024

--

File upload vulnerabilities

Executive Summary:
Mengeksploitasi kerentanan dalam fitur unggah file yang memungkinkan penyerang mengunggah web shell. Dengan mengunggah file berbahaya, penyerang dapat menjalankan kode di server target, yang dapat memberikan akses penuh ke sistem.

Key Findings:

Full Pen Test Results:
Tekan “ACCESS THE LAB”, kemudian akan terpindah ke tab yang baru.

Saat menekan “ACCESS THE LAB”, kita akan diarahkan ke halaman beranda yang telah disediakan oleh PortSwigger. Lihat ke bagian kanan atas, tekan “My account”.

Masukkan username dan password yang telah diberikan yaitu:
Username: wiener
Password: peter
Lalu tekan “Log in”.

Kemudian, pilih file yang ingin di upload.

Untuk hal ini, saya telah memilih logo Universitas Mulawarman.

Maka tampilan seperti berikut jika telah upload file.

File telah berhasil di upload dan avatar telah berganti menjadi gambar yang telah di upload sebelumnya.

Selanjutnya, upload file “exploit.php” yang telah dibuat sebelumnya. File “exploit.php” berisikan kode seperti berikut.

<?php echo file_get_contents('/home/carlos/secret'); ?>

Kemudian, tekan Upload.

Jika sudah berhasil upload, maka tampilan menjadi seperti berikut. Tahap berikutnya, kembali lagi ke beranda atau tekan “Back to My Account”.

Klik kanan pada gambar avatar yang telah menjadi seperti berikut ini, lalu tekan Inspect.

Ke Elements, lalu cari baris dengan isi seperti berikut.

<img src="/files/avatars/exploit.php" class="avatar">
|
|
|
v
/files/avatars/exploit.php

Lihat di bagian URL, ganti URL sebelumnya menjadi seperti berikut ini.

https://0a08001e0486c0c681aba7c900f8003a.web-security-academy.net/my-account
|
|
|
v
https://0a08001e0486c0c681aba7c900f8003a.web-security-academy.net/files/avatars/exploit.php

Copy dan paste URL yang terbaru, lalu tekan Enter.

Dapat dilihat, kita sudah berhasil mendapatkan jawaban dari Lab tersebut.

JsLxCk0kCV07ZEqg39UkO78ydQKKMYgo

Kembali lagi ke halaman My Account dan copy dan paste jawaban yang telah didapatkan dan tekan OK.

Dapat dilihat bahwa jawabannya benar dan Lab pun telah diselesaikan.

Kesimpulan:
Dengan memanfaatkan kelemahan dalam mekanisme unggah file untuk mengunggah web shell, yang kemudian digunakan untuk mengeksekusi kode pada server. Ini menggarisbawahi pentingnya validasi dan penyaringan file unggahan untuk mencegah eksekusi kode berbahaya. Pengujian ini menunjukkan potensi risiko serius jika aplikasi web tidak mengamankan proses unggah file dengan benar.

Oleh: Dinnuhoni Trahutomo
(2209116006)

Terima Kasih!

--

--