1 Problem + 1 Bug

Begonnen von Freddy436, 11 März 2008, 22:00:09

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Freddy436

Hallo,

vorneweg mal, ich hab mit pragmaMx, etc. eigentlich nix zutun, kenne mich daher praktisch garnicht damit aus.
Ein Freund benutzt PramgaMx und das PM Modul. Ich hab ihn mit einem Problem was er mit dem Modul hat geholfen.

Das Problem war das die PM Übersicht lange geladen hat und dann irgendwann abgebrochen wurde (max execution time exceeded). Ursache dafür war das ein user eine große PM gesendet hatte, die PM war 64 KB groß und bestand aus 21730 Smilies. Ich hab dann eine Begrenzung auf 2000 Zeichen eingebaut. So eine Funktion sollte man vielleicht in die offiziellen Version auch noch einbauen.

Dabei ist mir auch noch ein potentieller SQL injection exploit aufgefallen, index.php, Zeile 1115:
$qry1 .= "VALUES ('" . $arrpostdata["image"] . "', ...
$arrpostdata = $_REQUEST
$arrpostdata["image"] wird wenn ich nichts übersehen nirgends escaped, geschweigeden anständig validiert.

Andi

Hi :)

danke für den Hinweis, wir prüfen das ;)  :cul:

Zitatnirgends escaped, geschweigeden anständig validiert.
Nicht ganz...
pragmaMx hat zusätzlich, zu den zugegebenermassen, an der Stelle fehlenden Sicherheitsmassnahmen, zusätzliche Funktionen, die SQL-Injections erschweren, bis eigentlich unmöglich machen.

So werden
- alle $_REQUEST Variablen durch eine Filterfunktion geprüft
- alle $_REQUEST Variablen zwangsweise escaped, egal ob magic-quotes an oder abgeschaltet ist
- alle SQL-Anfragen nochmal durch einen Filter geschickt...
schön´s Grüssle, Andi

Fummelhase

@Freddy436

Danke fürs aufgreifen des Problems.

Es ist definitiv möglich, kann jeder bei sich testen und wurde auch schon angesprochen


lg

Andi

@ Fummelhase

Was ist möglich und wo wurde das bereits angesprochen?
schön´s Grüssle, Andi

Fummelhase

Hi Andi,

ZitatWas ist möglich

Man kann mit den PM's die Datenbank voll müllen, da es keine Zeichen Begrenzung gibt.
Damit kann man sogar eine Seite zum abschmieren bringen.

Zitatund wo wurde das bereits angesprochen?
Im Forum steht das Problem schon.

lg


Andi

ZitatIm Forum steht das Problem schon.

WO steht das im Forum, dass man mit dem posten von Smilies die Webseite lahmlegen kann?

Das ist Quatsch, nur der, der die PM erhält, der bekommt ne unvollständige Seite, weil das Script vorzeitig abbricht. Und wenn das passiert, dann macht der Server nur das, für das er konfiguriert ist. Er stoppt das wietere parsen von PHP-Quellcode. Und weil nicht hunderte User gleichzeitig solch eine PM lesen, kann dem Server da garnichts passieren.


Das Problem hat auch mit der Datenbank nix zu tun, da ist sehr wohl eine Begrenzung drin. Nämlich die Feldbegrenzung von MySql, die beim Feldtyp "Text" auf 65535 Zeichen begrenzt ist. (Zugegeben, für private Nachrichten etwas viel)
Aber wie gesagt, Problem ist nicht die Datenmenge in der DB, sondern das, was beim konvertieren der Smiliesymbole daraus gemacht wird. Da wird eben aus sowas ; ) ein kompletter Imagetag mit dem mehrfachen an Zeichen generiert und da macht der Server schlapp. Nicht wegen der Datenmenge, sondern wegen der Rechenzeit, die er braucht.


wie gesagt:
Zitatdanke für den Hinweis, wir prüfen das

Da hier schon wieder verschiedene Sachen sinnfrei zusammen geworfen werden >> Thread closed.
Wenn wir zu dem Problem noch Fragen an Freddy436 haben, melden wir uns.....
schön´s Grüssle, Andi