Sicherheitsrisiko Verbindung zur Datenbank

Begonnen von PhanThomas, 07 November 2007, 11:55:14

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

PhanThomas

Hi Leuts,

heute ist bei meinem Provider die Datenbank abgeschmiert. Da habe ich festgestellt, dass dann immer eine Fehlermeldung angezeigt wird in der der DB-Server mit usernamen und Passwort im Klartext zu lesen ist. Schlimme Sache.
Bei anderen Seiten die ich über die gleiche Datenbank laufen lasse kommt nur eine SQL-Fehler Anzeige.

Ich wäre dafür, dass man sowas mit einer Extra-Seite abfängt, damit im Falle des DB-Server-Absturzes nicht unfreiwillig das Passwort für alle mitzulesen ist.

Thanx Tom

breakdancer

Hi,

das wäre ja ein wirkliches Problem.

Wann genau kommt denn die Fehlermeldung, kommt sie vom Server oder von PMX und wie sieht sie genau aus ?

Hast Du vielleicht mal einen Screenshot ? Kannst ja Username und Passwort ausschwärzen...

LG

Markus

PhanThomas

(Leider) Gott sie Dank funktioniert es wieder. Daher kann ich jetzt keine Screenshots mehr machen.
Ich werde mal am Wochenende aber probieren das Problem zu simulieren - mal schaun ob ich den Fehler reproduzieren kann.

Wer die Fehleranzeige ausgegeben hat kann ich leider nicht sagen. Es war jedenfalls eine weiße Seite mit schwarzer Schrift und nicht als PMX-System zu erkennen. Allerdings habe ich eine zweite Seite (ohne PMX) die auch einen MySQL Connect Error ausgab - allerdings nur ganz oben als kleine Info und darunter die Seite (und ohne Passwort im Klartext)

Daher vermute ich, dass trotz des merkwürdigen Aussehens der Fehlermeldung das PMX-System dahinter steckt....  :gruebel:

bajazzo

ich glaube nicht das es an PMX liegt. Siehe include\db\db.php ganz unten.
Auf Deutsch: entweder geht es weiter oder nicht -> von Ausgabe des DB passwort kann keine Rede sein.
Genie ist die grenzenlose Bereitschaft, sich Mühe zu geben.

breakdancer

Zitat von: bajazzo am 07 November 2007, 14:42:12
ich glaube nicht das es an PMX liegt. Siehe include\db\db.php ganz unten.
Auf Deutsch: entweder geht es weiter oder nicht -> von Ausgabe des DB passwort kann keine Rede sein.

Es würde mich auch sehr wundern, dass eine solche Sicherheitslücke bei den restriktiven Sicherheitsmaßnahmen von PragmaMX von Systemseite möglich wäre...

Eine weisse Seite mit schwarzer Schrift - vermutlich die erste Zeile sehr groß geschrieben wie die bekannte "Internal Server Error"-Seite und der Rest darunter drei, vier Zeilen klein, das ist m. E. recht sicher eine serverseitige Rückmeldung auf eine Datenbankanfrage von PragmaMX.

Versuch bitte tatsächlich einmal, den Fehler zu simulieren. Dass ein Server beim Datenbankcrash Username und Pass öffentlich zurückgibt ist ein schweres Sicherheitsproblem. Vorbehalten beweislicher Unterlagen sollte dann der Serverbetreiber über den Vorgang informiert werden.

Gruß

Markus

PhanThomas

Oki doki,

bin mal extra ne halbe Stunde früher heut aufgestanden um schnell zu testen und siehe da - der Fehler kommt. (JPG im Anhang)

Also mag ja sein, dass die Ausgabe nicht vom PMX kommt, aber es gibt Seiten da wird im Falle sowas nicht angezeigt. Also fangen die das irgendwie ab...

Der geschwärzte Bereich enthält übrigens DB-Name, username und PW im Klartext.

Greetz

PhanThomas

Also noch als kleine Ergänzung - die von mir angesprochene andere Seite wirft nur folgendes aus:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'u15406'@'81.28.232.66' (using password: YES)
in /vrmd/homepages/u6823/phly/shared/drivers/mysql/driver.php on line 51


Also ohne Hinweis auf irgendwelche Passwörter...

breakdancer

Hey,

also danke für´s frühe Aufstehen. Dann hat sich der Verzicht auf eine halbe Stunde Schlaf ja gelohnt...  ;)

Ich würde hier vielleicht Andi bitten, sich mal zu dem Thema einzubringen, was er von der ganzen Sache hält. Insbesondere in Bezug auf die Fehlermeldung in der Abbildung...

Liebe Grüße

Markus

bajazzo

 :mad2:
Ich habe es gerade lokal simulieren können, und zwar wenn $mxConf['mxSqlErrorDebug']   = '1'; ist.
Und dann z.B. DB Passwort falsch ist.
Genie ist die grenzenlose Bereitschaft, sich Mühe zu geben.

bajazzo

nur damit wiruns richtig verstehen - das bedeutet das PMX (wie erwartet  ;) ) einwandfrei funzt.
Debug Modus, SQL Anzeige, etc.. sind Entwickler-Werkzeuge oder für die Leute die wissen was es auf sich hat.
Für alle anderen: "wenn ich nicht weiß was es ist - lasse ich Finger davon."

Auf Deutsch: schalte das Debug Modus ab und gut is es!
Genie ist die grenzenlose Bereitschaft, sich Mühe zu geben.

PhanThomas

oioioioioi  :red:

Danke für die Ergänzung... dachte ich lasse die Protokollierung immer mitlaufen, damit ich gleich Fehler sehe, wenn welche auftauchen...

In so einem Fall ist das natürlich übel, wenn ausgerechnet dann die DB abstürzt...

Meiner Meinung nach könnte man ja kleinen Infobutton mit Warnhinweis versehen und da (bei den Einstellungen für die Debug Funktionen) hinmachen - so wie bei Sommaire. Aber jetzt wissen wirs ja für die Zukunft...

Vielen DANK nochmal!  :thumbup:

Andi

Hi :)

jop, wie bajazzo schreibt, der Debug Modus ist nur zum "debuggen" gedacht. Also, wenn man geziehlt Fehler sucht. Standardmässig soll der natürlich abgeschaltet sein.

Klar, man kann nicht an alles denken und sowas wird gerne mal vergessen. Also dürfen da keine "sensiblen" Daten angezeigt werden. So, dass da in den Fehlermeldungen auch die DB-Verbindungsdaten mit erscheinen, habe ich das bisher noch nicht beobachtet. Durchaus möglich, dass sich da im Laufe der Zeit etwas in den php-Versionen geändert hat...


Für die nächste pmx-Version habe ich das gerade geändert, damit die Verbindungsdaten auf jeden Fall unkenntlich gemacht werden....
schön´s Grüssle, Andi