Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#1

PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 29. Jun 2010, 19:30
n'abend,

die grundlegende Basis für mein winziges (eigenes) CMS hab ich nun soweit fertig. (falls ich nich noch welche Fehler finde).

Und da wollte ich mal fragen, ob jemand hier zufällig irgendwo ein Sicherheitsproblem entdecken kann?
Jetzt kann ich ja Vieles noch problemlos grundlegend umstrukturieren.


als Zielplattform ist
PHP 5.2 (mal sehn wann auch die kleinen Server das auf schönere 5.3 umgestellt werden) und MySQL 5 vorgesehn

aktuell lauffähig:
- sperren vom direkten Ausführen von "Include"-Dateien
also aktuell noch fast alles im Scripts-Verzeichnis
(hier hatte ich auch erst die übliche Variante mit einer Konstante via DEFINE und jetzt wird es ohne externe Konstante über 'nen Stacktrace erledigt)
- Login (eingerichteter Benutzer ist "Admin" + "Pass")
- Logout
- die Sprachverwaltung
- eine dynamische Session (sie und ihr Keks wird nur erstellt, wenn sie nötig ist und ebenso auch wieder gelöscht)

noch nicht ausprobiert (aber hoffentlich lauffähig):
- Registrierung
- freischalten eines gesperrten/neuen Accounts
- neues Passwort, wenn vergessen
- die Basisverwaltung des Cronjobs
- viele Funktionen (aktuell noch, mal sehn ob ich das noch ändere), welche den Zugriff auf die grundlegenden Datenbank und Dateizugriffe bereitstellen

was noch fehlt:
- erstmal ist die Templateklasse noch nicht fertig
(drum auch billiges Echo+HTML in der Index.php)
- und erst dannach kann ich mich um den Rest kümmern
- nja und dann kommen noch so 10-20 weitere Dateien dazu, für die restlichen Funktionen (es soll ja alles klein bleiben)


Was den Dateiupload betrifft, da werden die Dateien entweder nicht von extern zugänglich sein (werden z.B. nur via readfile und vorherige Rechteprüfung freigegeben) und/oder ihre Dateinamen im Dateisystem werden geprüft und enthalten keine "bösen" Zeichen und auch die "schlimmen" Dateierweiterungen sind da nicht vorhanden (PHP hochladen und dann ausführen ist also nicht möglich)



bei den Sperren will ich noch was ändern
- also automatischer Überlasungsschutz kommt noch rein (falls unser Handy mal bei mir vorbeischaut und mit millionen Anfragen alles überlastet)
- damit verbunden auch eine etwas andere/bessere Art auf zuviele falsche Passworteingaben zu reagieren (aktuell wird nach 5 Versuchen der Account gesperrt und kann per Mail wieder freigeschaltet werden)


In dem Code hab ich die Debugausgabe aktiviert, also nicht über die Messages und den DEBUG OUTPUT wundern.
Und wie gesagt, aktuell geht es mir erstmal um die Sicherheit,
also voralem alles, welches in der Scripts/Functions.php in den Funktionen Main_GetConfigDefaults und besonders Main_Initialize behandelt wird.
Aus den Debugausgaben sollten auch alle gefährlichen Infos rausgefiltert werden.



Im Anhang liegen die Dateien
und hier hab ich noch 'nen Testserver mit den Dateien (9 MB)




Testserver:
- dort ist'n kleiner Apache, PHP 5.3 und MySQL 5.1 drinnen
- beim "installieren" entpackt der nur diese Module in sein Verzeichnis
- mein Projekt wird dann über http://localhost/Test/Scripts/Install.php5 eingerichtet
- und auf http://localhost/Test/Index.php5 liegt die Testseite

[edit]
ups, den Anhang vergessen
Angehängte Dateien
Dateityp: 7z Test.7z (103,7 KB, 19x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (29. Jun 2010 um 19:45 Uhr)
  Mit Zitat antworten Zitat