Tutorial Local File Inclusion php://filter Base64
Hallo, apa kabar?
Melalui artikel kali ini, saya ingin sharing mengenai cara melihat isi source file code website target yang mempunyai rentan terhadap LFI dengan menggunkan payload atau metode php://filter.
INFO: Sebenarnya ini challenge dari sebuah grup, yaudah saya penasaran lalu saya coba. Oke skip, mari kita lanjut aja.
Buat yang sudah mengerti tentang LFI, monggo kalian lewati aja. Nah buat yang belum tahu, LFI adalah singkatan dari Local File Inclusion Lalu maksudnya apa? Yakni akses yang tidak sah ke file yang ada di sistem. Celah ini memungkinkan seorang penyerang bisa mendapatkan akses ke file sensitif di server.
Jika masih belum paham, coba googling dulu hehe.
Tutorial Local File Inclusion php://filter
Contoh target challenge: http://url.com
Kira-kira website target tersebut ada celah apa? Untuk menjawab rasa penasaran saya, kemudian saya view-source pada website tersebut. Setelah cari-cari, disini saya menemukan sebuah paramater menarik seperti pada gambar bawah ini,
Jika saya klik url tersebut akan seperti ini,
http://url.com/news/index.php?page=news.php&id=535&n_t=1
Hmm, apakah website tersebut mempunyai rentan LFI di parameter page=news.php oh atau mungkin ada celah sqli id=353 ?? Kita coba aja.
Ekploitasi Kerentanan
Sebelumnya pada challenge tersebut, saya disuruh untuk menemukan MySQL host, user, dan password.
Nah, pertanyaan yang muncul selanjutnya adalah "apa yang harus saya lakukan dan bagaimana caranya?" Jawaban sederhananya yaitu tanpa berpikir terlalu pusing kita bisa menggunakan metode php://filter kan disitu challenge-nya LFI, sudah dipastikan ini vuln lfi, ya kan? Hahaha.
[Payload] php://filter
php://filter/convert.base64-encode/resource=
Yap benar, untuk menemukan data MySQL seperti host dll saya menggunakan teknik php://filter, jadi kira-kira seperti ini payload yang saya gunakan.
http://url.com/news/index.php?page=php://filter/convert.base64-encode/resource=index.php&id=535&n_t=1
Setelah itu saya tekan enter akan muncul enkripsi berupa base64 encode, kira-kira seperti pada gambar berikut ini.
Selanjutnya untuk melihat hasil tersebut, saya decode code tersebut dan hasilnya seperti ini.
CATATAN: Untuk melakukan encode/decode saya menggunakan tools ini > Website Base64 Encode/Decode Online.
Nah, sampai sini saya sudah mendapatkan source code dari include filenya, selanjutnya tinggal mencari atau explore aja.
Nah, sampai sini saya sudah mendapatkan source code dari include filenya, selanjutnya tinggal mencari atau explore aja.
Langkah selanjutnya mengganti file index.php dengan ../template/head.php
http://url.com/news/index.php?page=php://filter/convert.base64-encode/resource=../template/head.php&id=535&n_t=1
Kemudian jalankan, dari hasil output tersebut yang sudah saya decode seperti ini.
Terlihat jelas disitu, file ../include/connect_inc.php artinya kita bisa melihat isi dari file database tersebut, seperti host, user, password.
Jadi sekarang kita ganti directory ../template/head.php dengan ../include/connect_inc.php kira-kira seperti ini lengkapnya.
http://url.com/news/index.php?page=php://filter/convert.base64-encode/resource=../include/connect_inc.php&id=535&n_t=1
Setelah itu saya enter, kemudian seperti biasa untuk melihat isi dari include file tersebut ke yang aslinya lakukan decode terlebih dahulu.
Dan boom, berhasil.
Dari gambar tersebut saya berhasil menemukan MySQL host, user, dan password. Artinya saya sudah berhasil melakukan challenge tersebut.
Selesai...
Demikian artikel kali ini tentang LFI php://fillter, semoga apa yang saya tulis ini dapat bermanfaat buat semua orang. Apabila ada kesalahan kata/penjelasan saya mohon maaf.
Yasudah terimakasih, untuk semuanya.
Post a Comment for "Tutorial Local File Inclusion php://filter Base64"