DVWA File Inclusion

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Problem

  • Tritt auf, wenn der Client die Möglichkeit hat, Dateien mitzugeben, die der Server einbindet.

Local File Inclusion

  • Ausführen einer Datei, die lokal auf dem Server vorliegt.
  • z.Bsp. Anpassen der URL: ...?page=../../../../../../etc/passwd (oder auch ...?page=/etc/passwd)

DVWA-fileinclusion-1.png

Remote File Inclusion

Ursache

  • Verwendung von Variablen die von Außen verändert werden können ohne Kontrolle oder Einschränkung.
  • z. Bsp. PHP:
<?php
$file = $_GET[ 'page' ]; 
....
  • Wird die Variable $file im weiteren Verlauf ohne weitere Kontrolle verwendet, kann es zu dieser Schwachstelle kommen.
  • Beispiel für eine sichere Kontrolle:
if( $file != "include.php" && $file != "file1.php" && $file != "file2.php" && $file != "file3.php" ) {
   echo "ERROR: File not found!";
   exit;
}

Gegenmassnahmen

  • Kontrolle aller Daten, die von Aussen kommen. Niemals direkte Verwendung dieser Daten / Variablen.