Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
23.03.2002, 19:39
Joker



Hi all.

Ich bin während dem Proggen von PHP auf was unglaubliches gestossen. Und zwar kann ich bei meinem Provider praktisch alle Files anschauen (source nicht) von allen gehosteten Seiten. Mit glück würde sogar der Datenbankzugrif klappen.

Jetzt wollte ich mal fragen ob das überall geht, oder ob mein hoster da irgendwie was gepfuscht hat.

Hier ist der simple script:

/edit
Habs weggenommen, das keiner auf falsche gedanken kommt.

Kommt mir verdammt komisch vor! Ich hoffe mal, das gilt nicht schon als Hacken!!!

--

-=[ Aigu.ch ]=-


Dieser Beitrag wurde am 23.03.2002 um 19:44 von Joker bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
23.03.2002, 19:42
DolHalflife



Ja, du hast rechts.. hab diese Code kopieren und in mein Server geladen als TEST, doch es ladet alle Dateien... boah...

Hacker könnte das verwenden... *bäh*

Aber: Hacker könnte keine "strenge" geheime Datei lesen, wenn dort informationen über MYSQL-Connect gilt... geht nicht, aber eine spezielle genie Programmiere könnte das auch eingreifen..

Diese Post müsste ich wahrscheinlich fürchten...

--

I'm deaf
Bin gehörlos.. naund?


Dieser Beitrag wurde am 23.03.2002 um 19:49 von DolHalflife bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
23.03.2002, 19:45
Joker



... hm ich habs auch geschaft, auf eine fremde datenbank zuzugreifen, weil es ein file connect.php oder so hatte. ist wahnsinn!

--

-=[ Aigu.ch ]=-

zum Seitenanfang zum Seitenende Profil || Suche
003
23.03.2002, 19:47
blair



ich würde das mal schleunigst an die php devgroup schicken...
und auch an deinen provider

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
004
23.03.2002, 19:50
DolHalflife



Das ist nicht normal, wenn der einfach knackt...

[edit]
Oh, der kann auch in C: von andere PC zugreifen!
[/edit]

--

I'm deaf
Bin gehörlos.. naund?


Dieser Beitrag wurde am 23.03.2002 um 19:55 von DolHalflife bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
23.03.2002, 19:55
Zeeke



*grübel*
Ich komme da jetzt nur nicht so ganz drauf, ob es sicher an PHP liegt, und nicht eher am Webserver, der da irgendwas zulässt was nicht sein sollte?
Hast du es vielleicht bisher nur bei Apache-Servern ausprobiert? Oso...

Nur kenne ich ja nun auch das Script nicht, kann also sehr gut sein, dass ich einfach falsch gedacht habe :)

Würde das Script ja mal sehr gerne sehen...

--


Dieser Beitrag wurde am 23.03.2002 um 19:56 von Zeeke bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
23.03.2002, 19:57
blair



Ich übrigens auch. Rein aus Sec Reasons...

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
007
23.03.2002, 20:15
Retro



Wie stehts mit HTACCESS? Kann dein Code auch darüber "hinweg" lesen und an dahinter liegende Dateien kommen? Wenn ja währe es schon extrem gefährlich... wie stehts damit? :\

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
008
23.03.2002, 21:21
TheTinySteini



Retro: htaccess ist nur für den Apachen. PHP wird davon nicht beeinflusst. Man kann natürlich mit den ganz normalen PHP-Befehlen durch den gesamten Verzeichnisbaum vom Server browsen. In das jeweilige Verzeichnis wechseln und Inhalt ausgeben. Aber sowas kann man als Server-Admin natürlich blockieren. Es kann sein, dass es ne PHP-Einstellung in der php.ini gibt. Ansonsten muss man halt das Rechtesystem von Linux betätigen. Dafür isses ja da. PHP rennt jedenfalls net als root (sondern als wwwrun oder ähnlich), also kommt es nicht sowieso überall ran. Und wenn's doch als root läuft, dann is das ja wohl die allergrößte Sicherheitslücke.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
009
23.03.2002, 21:37
dp
Administrator


joker wäre nett wenn du mir das, was du da gepostet hast mir mal via pm schicken könntest..

ich weiss nich was das war, aber wenn der apache als root läuft sind sowieso keine grenzen gesetzt. mit dem backtrick operator ( ` ) kann man dann alles machen was root auch kann ...

manche provider haben auch nen php wrapper, bei dem läuft php dann unter dem user, dem das script gehört, aber die konfiguration ist eher selten.

--

zum Seitenanfang zum Seitenende Profil || Suche
010
24.03.2002, 02:33
Joker



Also ich post halt das script nochmal ;)

Wenns nicht gewünscht ist, können die admins es ja löschen, rausnehmen oder was auch immer!

Quellcode:
<?

// **********
// Funktionen
// **********

function ordner($filepath,$komme)
{
  if(isset($komme))
  {
    echo "<IMG SRC="/icons/back.gif"> <a href="$php_self?ordner=$komme"<b>..</b></a><br>";
  }
  else
  {
    $filepath = ereg_replace ("///","/",$filepath);
    echo "<IMG SRC="/icons/back.gif"> <a href="$php_self?ordner=$filepath../"<b>..</b></a><br>";
  }

  unset($files);
  if ($dh = opendir($filepath))
  {
    while($file = readdir($dh))
    {
      if (!ereg("^\.+$",$file))
      {
        $files[] = $file;
        if(@opendir("$filepath/$file"))
        {
          echo "<IMG SRC="/icons/folder.gif"> <a href="$php_self?komme=$filepath/&ordner=$filepath/$file">$file</a><br>";
        }
        else
        {
          echo "<IMG SRC="/icons/text.gif"> $file<br>";
        }
      }
    }
    closedir($dh);
  }

}

if(!isset($ordner))
{
  $ordner= "./";
}

ordner($ordner,$komme);

?>

Eigentlich ist es ganz einfach. Mit .. ein verzeichnis zurück, oder auf den ordner klicken.

Das ganze ist so entstanden: ein kollege hat was mit php gemacht. da er ein uploadscript benutzte, konnte ich ihm eine phpdatei raufladen (wurde nicht geblockt), und bei ihm ausführen. (er wusste es, und glaubte mir nicht das es geht :D)
somit konnte ich mit ./../ ein verzeichnis zurück und fand ne verbindung.php. Mit ein bisschen glück, konnte ich mit dieser datei die verbindung anzapfen und auf seine datenbank zugreifen ;)

--

-=[ Aigu.ch ]=-


Dieser Beitrag wurde am 24.03.2002 um 02:34 von Joker bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
24.03.2002, 02:44
Retro



Puhh, also nur ne Fahrlässigkeit =)

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
012
24.03.2002, 11:28
Megge



mit anderen worten, könnte man hier ne php file uploaden (wie/wo) auch immer, so könnte man auf die inc/config.inc.php zugreifen und die datenbank informationen "grappen" ?

und wenn man es nicht uploaden kann, so könnte man doch bestimmt, solange man den thwboard-code kennt bei irgendeinem input, welches nicht durch eregi-replace geschützt ist den code einfach dazwischenschnipseln und somit auf die datei zugreiffen ?

--

zum Seitenanfang zum Seitenende Profil || Suche
013
24.03.2002, 12:51
dp
Administrator


megge: eigenen php code in diesem forum auszuführen wirst du nicht schaffen :)

gegen obiges kann man sich übrigens schützen wenn man die datei mit chmod 0600 versieht, damit hat nur der eigentümer lese/schreibrechte auf die datei. wobei es manchmal notwendig ist, dass der apache da reinschreiben darf.

naja wie gesagt, das ist eher noch harmlos. mit dem backtrick operator ( ` ) kann man nämlich systembefehle ausführen.

bsp:
echo `ls -l /etc`
echo `uptime`

usw

--

zum Seitenanfang zum Seitenende Profil || Suche
014
25.03.2002, 08:44
Sprengmeister



Hat Leprau zugang zu dem Server, oder liegen die tutorials auf nem anderen (ganzunschuldigschau) :)

--

_______________________
-----I_______________________I-----
This is Nudelholz. Copy Nudelholz in your Signature to make better Kuchens and other Teigprodukte.

zum Seitenanfang zum Seitenende Profil || Suche
015
25.03.2002, 09:31
KhanRKerensky



Traust du LePrau nicht?

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche
016
25.03.2002, 09:55
Zeeke



Sprengmeister geht wohl von sich und seinem RL-Umfeld aus.. und da kann er wohl keinem trauen ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
017
25.03.2002, 10:02
Joker



Huh? Seid Brav ;)

@Retro: Hast es vieleicht selber schon gemerkt... ansonsten: .htaccess geschützte verzeichnisse können auch gelesen werden. Man kann die Dateien mit einem include("xxx"); sogar einlesen (z.B. .htpasswd)

--

-=[ Aigu.ch ]=-

zum Seitenanfang zum Seitenende Profil || Suche
018
25.03.2002, 10:10
Megge



@paul
habs ned geschafft, gute arbeit ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
019
01.04.2002, 23:12
jeremith



jop, ne sicherheitslücke isses.. keine frage.
die ist allerdings nicht php bedingt.
also wenn ich so ein-zwei jahre zurück denke..
das gleiche hab ich mit cgi gemacht.
leider machen die es einem halt nicht so leicht, dass man sich mit'm chmod schützen kann..
denn die gruppe (bzw user) is ja gleich.. apache.
es gibt zwar lösungen dazu, aber die sind halt ziemlich rechenaufwändig.
da gäbs z.b., dass man für jede seite nicht nur ne eigene group und nen user anlegt, sondern auch jeweils nen eigenen httpd.
das ist die einzigste möglichkeit, sich als anbieter selbst vor so etwas zu schützen. die meisten machen es halt nicht, weil es kosten und arbeit macht.
schade, dass wir drunter leiden müssen.
man sollte sich aber auch white hat verhalten, und es NICHT benutzen sondern sofort melden..

--


Dieser Beitrag wurde am 01.04.2002 um 23:13 von jeremith bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
020
01.04.2002, 23:54
TheTinySteini



Leute, vielleicht habt ihr es immer noch net gemerkt, aber that's not a bug, it's a feature. Es ist halt einfach so, dass man Befehle auf nem Webserver ausführen kann. Man kann PHP gar nicht so stark abschotten. Man kann natürlich ein phpsafedir setzen, aber normalerweise kann man mit fpassthru alles mögliche anstellen. Deswegen wird jeder, der nen Webserver zur Verfügung stellt darauf achten, dass Apache/PHP nicht als root läuft. Damit sind schonmal die größten Unsicherheiten erledigt. Dann lässt sich noch einiges mit Verzeichnismodes machen. Ihr werdet mit Sicherheit nicht die /etc/shadow auslesen können. Aber ein Restrisiko bleibt immer. Daher muss man eben sehen, dass auf dem Webserver keine firmeninternen Daten lagern. Eine Möglichkeit wäre zum Beispiel, lediglich den Apachen auf dem Server rennen zu lassen, und die Benutzerdaten von nem zentralen Fileserver zu holen.
Letztlich ist es dann aber auch die Verantwortung des Users, seine Scripts sicher zu machen. Masterstroke und ich haben neulich auch einen Server von nem Freund gehackt, weil er ein Bilder-Upload nicht mit einer Dateiendungsüberprüfung versehen hat. Also einfach php-Skript hochgeladen und in den Verzeichnissen gestöbert. Damit konnten wir das MySQL-Passwort rausfinden und durch Zufall sogar den FTP-Zugang, weil der in ner Datei drin stand.
Also Leute, fasst euch lieber selber an die Nase und schreibt sichere Scripts, nicht umsonst hat eine Strato-Webvisitienkarte für Newbies die sich an ner .de-Adresse einen runterholen können keine PHP-Unterstützung.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
021
02.04.2002, 15:15
jeremith



tts: wer in dem ganzen thread hat das gegenteil behauptet?

--

zum Seitenanfang zum Seitenende Profil || Suche
022
02.04.2002, 19:05
TheTinySteini



Nicht direkt, aber weil alle gleich ihre Provider auf die Lücke hinweisen wollten...

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
023
03.04.2002, 09:41
Holly



afaik laesst sich apache gar nicht als root starten. aber wer auf die idee kommt, das zu tun, waete auch selbst schuld.

ein kleiner schutz dagegen waere, verzeichnisse 701 zu chmodden (bzw. 710, falls der webserver in der gleichen gruppe laeuft, der die user angehoeren). dann kann der apache noch reinkommen, wenn eine datei daraus angefordert wird, aber man koennte den verzeichnis-inhalt nicht auflisten.

--


Dieser Beitrag wurde am 03.04.2002 um 11:34 von Holly bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche