Beranda > Web Developer > Mencegah Directory Listing

Mencegah Directory Listing

Beberapa hari yang lalu, FTP Server di SMKN 1 Punggin down. Kebetulan, selain untuk FTP server, digunakan juga untuk Video Streaming Server (using OsTube). Nah, setelah beberapa hari di launching, ternyata ada saja orang usil yang mencoba masuk ke server kita.

Tapi untungnya, cracker tersebut masih tingkat lammer (menurut saya). Karena dia hanya menggunakan teknik “Guessing Web Server Directory”. Dalam bahasa indonesia artinya, “Menebak-nebak direktori server”. Mengapa demikian, untuk lebih lanjutnya akan saya bahas disini.

Karena server di sekolah saya menggunakan linux, dan tool Apache2 sebagai web servernya, maka saya check lognya sebagai berikut;

root@pungging~#: cat /var/log/apache2/error.log | more

Dan berikut file lognya,

Dalam suatu server web yang kompleks, tentunya terdapat beberapa direktori lain di dalamnya. Misalkan saja CMS Joomla, terdapat banyak sekali direktori kan. Dan yang dapat kita akses hanyalah direktori “Administrator”, mengapa begitu??? dan kenapa folder yang lain tidak dapat di buka???

http://www.pudja.com/administrator/        (bisa dibuka)

http://www.pudja.com/images/       (tidak bisa dibuka)

Tehnik ini disebut juga “Directory Listing”, untuk mendapatkan file-file penting yang ada didalamnya. Sebetulnya terdapat banyak cara untuk mencegah terjadinya Listing Directory ini. Namun saya akan membahas salah satunya saja, dan yang ini menurut saya lebih aman dan nyaman😀.

Tanpa pengamanan, directory IMAGES anda akan menampilkan semua file yang ada didalamnya kepada pengunjung web Anda. Cara pencegahanya adalah, anda harus membuat file “index.php” pada direktori IMAGES tersebut. Atau jika anda tidak menggunakan php, bisa diganti format ke “index.html”. Berikut kodenya;

<?php
header("location:http://www.yourdomain.com");
?>

Maksud kode diatas adalah, setiap pengunjung mengakses direktori tersebut, secara otomatis web browser akan redirect ke halaman awal website anda. Mengerti kan.

Dan selain direktory tersebut, kadang juga ada direktori alias. Maksudnya adalah, seperti halnya dalam Apache2 (linux), yang dapat menambahkan virtualhost alias di belakang nama domain asli. Yang tidak asing lagi di telinga kita adalah PhpMyAdmin. Yap, walaupun direktori PhpMyAdmin tidak terdapat dalam direktori web server kita, namun masih bisa diakses, betul kan.

Nah sayangnya, ada juga CMS yang masih belum mengerti tentang pentingya mencegah “Directory Listing” ini. Yang paling populer adalah OsTube. Yap, CMS yang terkenal dengan video & audio streaming servernya ini masih mempunyai bugs. Berikut tampilan OsTube dari SMKN1 Gorontalo, maaf saya tidak menggunakan OsTube SMK Pungging karena alasan keamanan.

Dan ketika saya tambahakn kata “includes” di belakangnya,

http://www.smkn1gorontalo.sch.id/ostube/includes/

Maka muncullah hal yang tidak kita inginkan sebelumnya,

Nah naasnya lagi, setiap website pasti membutuhkan file konfigurasi yang menghubungkanya dengan database server. Dan dalam cms OsTube, file konfigurasi tersebut bernama “config.php”, dan terletak didirektori “includes”. Nah, mati lah lhu….

Dalam file konfigurasi tersebut terdapat user dan password untuk databasenya, berikut filenya;

Kalau sudah begini, siapa yang salah, Admin atau Cracker?? Semua itu tergantung anda, karena tidak ada sistem yang sempurna 100%. Jadi, selalu belajar dan belajar dengan sesuatu yang baru. Dan sekian dari saya.

  1. 23 Februari 2011 pukul 2:29 PM

    Stlh q mngnal web server, q mulai bljr. Sblmnya q ud nemu ide ini tp blm tw pnyelesaiannya (maklm). Trnyata udah d bhas d sni.
    Kalo gt lbih baek pas instal web, folder install nya d apus aj drpd d rename ya. Dmi k.amanan

    Salam x tkj 1.😀

  2. 23 Februari 2011 pukul 11:02 PM

    alkaaf tho ini.. emm… emg bner sih, klau direname blm mnjamin aman…

    btw qm bruntung lho, gk kyak aq dulu… skrang informasi udh bgitu cepat….

    sip deh… lanjutkan…

  3. 26 Februari 2011 pukul 6:40 PM

    hmmm… masih banyak hari esok buat pacu adrenalin otak…

    btw, forumnya koq tutup ya??? ditutup gara gara banyak yang spam yah??? hehehe

  4. 15 September 2011 pukul 10:54 AM

    mas… aku coba teknik ini ke jooml*. aku cobain buka configuration.php yang tempatnya di luar tuh, kok gak muncul kode php nya? (mis: http://www.ex.com/configuration.php -> gak muncul kode php nya)

    padahal di atas mas buka examp.com/includes/config.php -> keluar kode php nya. gimana tuh caranya mas?

  5. 16 Oktober 2015 pukul 2:43 PM

    Tapi seharus file php kayak gitu gak bisa dibaca secara langsung kan ? tapi kenapa kok itu bisa dibaca yah,,, saya juga pernah melihat file php kayak gitu dibeberpa web yang bisa dilisting tapi ternyata,,, file phpnya gak bisa dibaca ?

    • 26 April 2016 pukul 4:40 PM

      itu dikarenakan sebelum ditampilkan di web browser, kode php dikompile terlebih dahulu oleh server

  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s