Bug Local File Inclusion
Metodologi dasar untuk mendekati kerentanan LFI saat menguji aplikasi web untuk penetrasi
Local File Inclusion adalah kerentanan umum dalam aplikasi web yang ditulis dengan buruk. Kerentanan terjadi ketika aplikasi web memungkinkan pengguna untuk mengirim input ke file atau mengunggah file ke server — keamanan ofensif.
Sebagian besar bahasa pemrograman modern memiliki mekanisme untuk mencegah jenis kerentanan ini, tetapi bahasa lama seperti Java, ASP.NET, dan PHP teman yang dikenal dapat mengatasi masalah ini meskipun tidak diterapkan dengan benar.
Jika serangan berhasil, itu memperlihatkan informasi sensitif tentang server web yang sedang berjalan, seperti file konfigurasi, file yang dapat dibaca publik, dan file sistem. Dalam beberapa kasus, kerentanan ini dapat memungkinkan eksekusi kode jarak jauh dengan mengunggah shell jarak jauh dan membahayakan seluruh server web.
Bagaimana cara mendeteksi LFI ??? !!
Secara umum, ada serangkaian indikator yang perlu diingat saat melakukan pengujian penetrasi pada aplikasi web yang sepadan dengan waktu. Indikator ini membantu penguji memetakan teknik eksploitasi umum atau vektor serangan yang dikenal untuk jenis kerentanan tertentu.Saat mendeteksi penyertaan file lokal, indikator ini adalah:
1. Bahasa sisi server seperti Java, PHP, ASP.NET
Keberadaan bahasa-bahasa tersebut adalah ekstensi halaman ".php, .asp, .jsp" atau berbagai alat Nmap, Nikto, Dirbuster, Wappalyzer , situs Perlu lebih tertarik untuk menyelidiki lebih lanjut.
2. Parameter yang terlihat
Parameter pencarian atau parameter lokasi file tersedia dengan menyertakan jalur file di URL dan dapat menunjuk ke halaman/lokasi yang berbeda di server, yang berguna untuk pengujian.
>Dalam pengujian saya, saya akan mulai dengan operasi URL manual untuk merasakan aplikasi dan cara kerjanya. Pecahkan URL menjadi beberapa bagian, uji satu per satu terlebih dahulu, lalu gabungkan, lalu pindah ke Burp Suite atau Wfuzz untuk otomatisasi.
Gunakan teknik di atas untuk menerapkan dan mendemonstrasikan ke mesin FriendZone HackTheBox. Ini adalah kotak yang bagus untuk berlatih deteksi dan eksploitasi file lokal termasuk kerentanan.
Seperti yang Anda lihat di tangkapan layar, dua bendera di atas ada. Situs ini menggunakan PHP sebagai bahasa sisi server (backend) dan menampilkan parameter lokasi file.
Waktu eksploitasi!!
Jadi, saat memantau permintaan dan tanggapan pada tab Jaringan alat pengembang Firefox, saya membagi URL menjadi tiga bagian dan mulai menguji untuk memahami cara kerja aplikasi.
Kemudian saya pindah untuk memanipulasi nilai parameter dengan mengganti ekstensi file dengan ekstensi lain seperti txt, png, menghapus semuanya, dan memberikan nilai baru ke jalur file. Lakukan semua ini sambil memantau kesalahan dan perubahan yang berlaku untuk aplikasi Anda saat memproses permintaan yang dimodifikasi.
a. Menghapus ekstensi:
b. Ganti ekstensi file dengan nilai lain [txt, php, png]:
c. Berikan nilai baru ke parameter dengan menyertakan file
Tangkapan layar di atas menunjukkan bahwa parameter pagename rentan terhadap LFI. Saya dapat memasukkan dasbor di jalur file. Server berisi halaman yang secara visual terlihat oleh pengguna.
Sekarang setelah kita mendapatkan parameter rentan, itu dilakukan dengan terlebih dahulu melintasi server dan mengekspos file sensitif seperti config.php, phpinfo.php, atau file yang dapat dibaca siapa pun seperti /etc/passwd di Linux atau c:\Boot.ini, windows c:\Windows\win.ini.
Anda juga dapat menggunakan pembungkus PHP untuk mengunduh konten halaman yang dihosting di server untuk pemeriksaan tambahan.
Jika Anda tidak menemukan sesuatu yang menarik dalam lintasan direktori, buka opsi kedua. Ini untuk menemukan titik akhir unggahan yang dapat mengunggah shell dan membahayakan server. Di mesin ini, titik unggah dilakukan melalui berbagi SMB.
Ini adalah cara dasar untuk menguji bug Local File Inclusion.. Terimakasih..