Cara Menemukan Path / Root Directory untuk Exploitasi - Information Path Disclosure



Root Directory adalah folder inti / utama yang dimiliki oleh website. Biasanya folder ini berisi tentang file-file yang digunakan pada laman utama sebuah website. Penggunaan Root Directory berbeda beda pada setiap website. Hal ini dipengaruhi oleh banyak faktor mulai dari Framework, Operating System, Tipe Webserver, dan lain-lain. Pada saat melakukan teknik seperti SQL injection into outfile, PhpMyAdmin Upload Shell, dan Exploit lainnya kita membutuhkan informasi tentang Path dari website target. Pada dunia hacking informasi tentang Root Directory ini sangatlah berharga oleh karena itu para bughunter sering melaporkan adanya celah yang disebut Path Disclosure. Jenis bug path disclosure adalah kerentanan dimana seseorang secara ilegal mampu mengetahui lokasi file yang digunakan pada sebuah website.

Berikut adalah teknik-teknik yang bisa digunakan untuk mendapatkan informasi letak root directory / path website untuk dilakukan exploitasi lanjutan:

1.Scanning Phpinfo


Phpinfo adalah halaman yang menampilkan informasi pada website. Tidak semua website memiliki laman phpinfo.Namun, pada beberapa kasus laman ini otomatis terinstall. Peluang untuk mendapatkan informasi root directory lebih tinggi jika menggunakan teknik scanning phpinfo. Untuk membuat laman phpinfo dapat digunakan script berikut dan simpan dalam bentuk namafile.php

<?php phpinfo(); ?>

Biasanya laman phpinfo berada pada lokasi berikut:

https://nakanosec.com/phpinfo.php

https://nakanosec.com/PhpInfo.php

https://nakanosec.com/php/phpinfo.php

https://nakanosec.com/php.ini

*Tips rahasia dari nakanosec untuk mendapatkan phpinfo atau yang disebut advance scanning.

Lakukan scanning pada subdomain website target menggunakan tools yang kalian miliki. Tim nakanosec sendiri lebih memilih menggunakan sudomy. Kemudian untuk mencari lokasi directory pada subdomain phpinfo kalian bisa menggunakan teknik Scanning Directory dengan DirSeacrh.

2.Mencari Error Page



Error page atau laman kesalahan adalah halaman yang memiliki kesalahan pada pengkodean ataupun koneksi sehinggan memunculkan error debug / error report / warning. Tidak semua website dapat memiliki error page, jika sebuah laman memiliki halaman yang error namun fitur debug dimatikan maka hasil yang didapat hanyalah blank page. Teknik yang umum dilakukan untuk mencari error page adalah:

  • Mencari celah sql injection sehingga memunculkan error ketika diberi singgle quote atau tanda petik (')
  • Mentrigger laravel debug (jika menggunakan laravel) dengan memberikan symbol [] sebelum parameter. Lebih lengkapnya silahkan baca Common Bug Pada Laravel
  • Mencari Dirlisting dan membuka file satu per satu untuk mendapatkan error.
*Tips rahasia dari nakanosec untuk mendapatkan Error page yaitu jika kalian mempunyai akses kedalam database kalian bisa menghapus seluruh dabatabase dalam website untuk mendapatkan error. Namun cara ini sangat tidak disarankan karena dapat menyebabkan situs tumbang sepenuhnya dan tidak dapat diakses

3.Membaca File.php Menggunakan LFI


Local File Inclusion merupakan salah satu bug yang dapat digunakan untuk membaca directory dari sebuah website. Hal ini dikarenakan LFI mempunyai kemampuan untuk membaca autaupun mengunduh source code yang dimiliki pada web. Jika seseorang mendapatkan kerentanan atau celah LFI maka dipastikan dia bisa menemukan root directory dengan sangat mudah. Bahkan jika seseorang tersebut beruntung kredential dari database mampu didapat dengan kerentanan jenis ini. Untuk Tutorial mencari Bug LFI sudah pernah dibahas pada artikel Cara Mencari Celah Local File Inclusion dan Exploitasi - LFI Tutorial.

4.Menggunakan SQL injection Load File
 
Pada beberapa kasus SQL injection memungkinkan untuk membaca /etc/passwd/ atau yang sering disebut Load File untuk melakukan teknik ini dapat dilakukan dengan menggunakan query sepeti pada dibawah ini (berbeda-beda tergantung kasus sqli kalian).
http://nakanosec.com/post_details-page.php?id=4225'+union+select+1,2,3,4,5,6,7,8,9,10,11,12,load_file('/etc/passwd'),14,15,16,17,18,19,20,21,22,23+from+mysql.user--+-
Jika berhasil maka bisa melanjutkan ke tahap berikutnya yaitu membaca /etc/httpd/conf/httpd.conf.

http://nakanosec.com/post_details-page.php?id=4225'+union+select+1,2,3,4,5,6,7,8,9,10,11,12,load_file('/etc/httpd/conf/httpd.conf'),14,15,16,17,18,19,20,21,22,23+from+mysql.user--+-

Jika keluar hasil seperti gambar dibawah kalian tinggal mencari kata kunci DOCUMENTROOT dengan menggunakan shortcut CTRL+F lalu directory website target akan muncul.

"Mungkin itu saja teknik yang tim nakanosec ketahui jika nanti ada masukan artikel ini akan kami update lagi."

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.