Hi
Das ist jetzt sicher eher eine "noob" Frage, aber ich traue mich einfach mal:
Wie kann es denn sein, dass PHPNuke und phpBB usw. so stark Fehleranfällig sind und wie kann man das umgehen?
Klar ist: Die Dinger sind OpenSource, somit kennt jeder den Code und weiß dann auch, wo die Sicherheitslücken sind.
Das Thema würde sich doch komplett erledigen, wenn ich mein eigenes Board schreiben würde oder mein eigenes CMS, oder?
Dann so eine MySQL injection: Man kennt die DB Struktur, und deswegen kann man valide Querys ausführen die über eine PHP Sicherheitslücke eingeschleust werden.
Da ist doch wieder das gleiche dabei: sobald niemand meine DB Struktur kennt, besteht doch eigentlich keine Möglichkeit mehr querys in meiner DB auszuführen, oder?
Genauso bei Image-Galerien: Bei PHPNuke eine riesen Sicherheitslücke, wie kann ich das denn bei meiner eigenen umgehen?
Die Benutzer können eine Datei hochladen, diese wird intern validiert und nur wenn alle Tests erfolgreich waren überhaupt akzeptiert.
Ist das eine Sicherheitslücke?
Der Benutzer weiß ja weder wohin die Datei geht, was mit ihr passiert oder wie sie heißt, wenn ich sie in /tmp oder sonst wo speichere ..
Worauf ich hinaus will ist eigentlich: Wie gefährdet sind meine Webs / ist mein Server bei meinen eigenen Closed Source PHP Applikationen, wenn ich die Security Tips von Zend und PHP beachtet habe und jede Benutzereingabe validiere?
Danke schon mal :)
Bye, Transmitter
Sicherheit bei Webapplikationen
-
- Posts: 48
- Joined: 2005-06-08 02:06
Re: Sicherheit bei Webapplikationen
Fehler liegen in der Natur des Menschen. Das ein oder andere Projekt leider zuviel.. Umgehen? Eine alternative benutzen (Mambo, Typo3, Xoops.. keine Ahnung gibt genug).Wie kann es denn sein, dass PHPNuke und phpBB usw. so stark Fehleranfällig sind und wie kann man das umgehen?
Jein, auch wenn du es selber schreibst heisst das lange noch nicht das es weniger gefährdet ist/bist.Das Thema würde sich doch komplett erledigen, wenn ich mein eigenes Board schreiben würde oder mein eigenes CMS, oder?
Siehe oben, alternativen verwenden.Genauso bei Image-Galerien: Bei PHPNuke eine riesen Sicherheitslücke, wie kann ich das denn bei meiner eigenen umgehen?
Die Benutzer können eine Datei hochladen, diese wird intern validiert und nur wenn alle Tests erfolgreich waren überhaupt akzeptiert.
Ist das eine Sicherheitslücke?
M$ hat trotz Closed Source mit denn selben Problemen zu kämpfen wie OpenSource Projekte.Worauf ich hinaus will ist eigentlich: Wie gefährdet sind meine Webs / ist mein Server bei meinen eigenen Closed Source PHP Applikationen,
Nicht wenn, ich würde sogar schon sagen das es zur Pflicht gehört Benutzereingaben zu überprüfen. :?wenn ich die Security Tips von Zend und PHP beachtet habe und jede Benutzereingabe validiere?
- caput :oops:
-
- Posts: 147
- Joined: 2005-01-20 03:07
Re: Sicherheit bei Webapplikationen
Wieso?caput wrote:Jein, auch wenn du es selber schreibst heisst das lange noch nicht das es weniger gefährdet ist/bist.Das Thema würde sich doch komplett erledigen, wenn ich mein eigenes Board schreiben würde oder mein eigenes CMS, oder?
Also .. was muss ich denn außer den Tips auf PHP.net noch beachten?
Gibt es da noch so eine gute Ã?bersicht bzw. ToDo Liste?
-
- Project Manager
- Posts: 11183
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Sicherheit bei Webapplikationen
Weil auch auf php.net nur die grundlegensten Dinge empfohlen werden können.Transmitter wrote:Wieso?
Also .. was muss ich denn außer den Tips auf PHP.net noch beachten?
Nein...Transmitter wrote:Gibt es da noch so eine gute Ã?bersicht bzw. ToDo Liste?
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 10
- Joined: 2003-01-07 16:31
- Location: Karlsruhe
Re: Sicherheit bei Webapplikationen
Kurze Zwischenfrage: Du kannst den Aufwand für Entwurf, Implementierung, Optimierung, Tests und Sicherheitsaudit eines CMS realistisch abschätzen?Transmitter wrote:caput wrote:Jein, auch wenn du es selber schreibst heisst das lange noch nicht das es weniger gefährdet ist/bist.Das Thema würde sich doch komplett erledigen, wenn ich mein eigenes Board schreiben würde oder mein eigenes CMS, oder?
Ich würde alleine für den Entwurf schon mal mindestens 1-2 Monate Vollzeit einrechnen. In der Testphase ist dann noch eine Testumgebung in sicherer Umgebung nötig und irgendwann braucht man einen sehr großzügigen Sponsor...
Außerdem steht der Aufwand in keinem Verhältnis zu dem Ergebnis (Ausnahme: das CMS entsteht als Auftragsarbeit und man wird nach Stunden bezahlt ohne Deckelung der Maximalkosten :) )
- security-mailinglists und ähnliches zeitnah verfolgen (zu manchen bekommst du als "Normalsterblicher" allerdings gar keinen ZugangTransmitter wrote: Wieso?
Also .. was muss ich denn außer den Tips auf PHP.net noch beachten?
Gibt es da noch so eine gute Ã?bersicht bzw. ToDo Liste?
- dich selbst in die Lage eines Angreifers versetzen und dir überlegen wie du dein System attackieren würdest
-
- Posts: 696
- Joined: 2004-01-27 14:16
- Location: Aachen
Re: Sicherheit bei Webapplikationen
PHP ist eine Scriptsprache, mit der man mit sehr wenig Aufwand sehr viel erreichen kann. Jeder Nicht-Programmierer kann nach wenigen Wochen ein eigenes Board, CMS... programmieren, welches auch mehr oder weniger funktioniert. Das man in dieser Zeit nicht wirklich ordentlich programmieren lernen kann sollte klar sein. Entsprechend werden viele Fehler gemacht, unter anderem auch sicherheitskritische. Auf den ersten Blick sind Sachen wie include($_GET['file']) doch superpraktisch - oder?Transmitter wrote:Wie kann es denn sein, dass PHPNuke und phpBB usw. so stark Fehleranfällig sind und wie kann man das umgehen?
So entsteht dann halt sehr viel fehlerhafte Software - der man es aber von außen nicht ansehen kann. Meist kommen die Leute aus dem Webdesign Bereich, wo man sich mit solchen Sicherheits-Fragen nicht wirklich auseinander setzen muss. Dafür gibts ein nettes Design...
Naja, und manchmal kommen viele solche Leute zusammen, es bildet sich eine Community, die Software wird immer komplexer, bekannter, und auf einmal - weil es viele potentielle Opfer gibt - gucken sich Leute - die ein bisschen mehr Ahnung von der Materie haben den Quellcode an, finden Sicherheitslücken und entweder werden die so veröffentlicht, oder eben nicht veröffentlicht und in eigene Angriffe eingebaut. Und wenn es veröffentlicht wird - bauen es eben die Script-Kiddies in ihre Software ein, da es mehr als genügend Leute gibt die sich nicht mehr um die Administration scheren, wenn es einmal läuft (falsches Verständnis von "never change a running system").
Wenn man den Code nicht kennt macht es das nur geringfügig schwerer, es hat nicht viel damit zu tun ob jemand einen erfolgreichen Angriff hinbekommt.Transmitter wrote:Klar ist: Die Dinger sind OpenSource, somit kennt jeder den Code und weiß dann auch, wo die Sicherheitslücken sind.
Wenn Du viel Ahnung von der Materie hast schon, wenn Du es auch nicht besser machst als die meisten anderen - dann nicht.Transmitter wrote:Das Thema würde sich doch komplett erledigen, wenn ich mein eigenes Board schreiben würde oder mein eigenes CMS, oder?
Das glaubst Du: http://www.unixwiz.net/techtips/sql-injection.htmlTransmitter wrote:Dann so eine MySQL injection: Man kennt die DB Struktur, und deswegen kann man valide Querys ausführen die über eine PHP Sicherheitslücke eingeschleust werden.
Da ist doch wieder das gleiche dabei: sobald niemand meine DB Struktur kennt, besteht doch eigentlich keine Möglichkeit mehr querys in meiner DB auszuführen, oder?
Das glaubst Du! Security by obscurity bringt hier nicht viel. Man kann vieles herausbekommen, wie bei SQL oben. Das Problem ist, dass die Gefahren an Stellen liegen, wo es ein Anfänger nicht vermutet. Irgendeine fehlende Initialisierung, irgendein Cookie der andere Werte sendet als angenommen usw. Das größte Problem ist, das Anfänger aufgrund fehlender Erfahrung nicht auf die Idee kommen (können), dass bei bestimmten Variablen die sie in Scripten verwenden Sachen drinstehen können, wo sie im Traum nicht dran gedacht haben, bzw. dessen Auswirkung sie mangels Wissen nicht verstehen.Transmitter wrote:Genauso bei Image-Galerien: Bei PHPNuke eine riesen Sicherheitslücke, wie kann ich das denn bei meiner eigenen umgehen?
Die Benutzer können eine Datei hochladen, diese wird intern validiert und nur wenn alle Tests erfolgreich waren überhaupt akzeptiert.
Ist das eine Sicherheitslücke?
Der Benutzer weiß ja weder wohin die Datei geht, was mit ihr passiert oder wie sie heißt, wenn ich sie in /tmp oder sonst wo speichere ..
Das erzählen die von phpbb, postnuke & Co schon seit Jahren. Trotzdem tauchen regelmäßig Schwachstellen auf, mit denen man eigenen Code ausführen kann. Es gibt auch Alternativen, wo das nicht so ist - z.B. FUDforum. Das hat halt auch jemand geschrieben, der sich auskennt.Transmitter wrote:Worauf ich hinaus will ist eigentlich: Wie gefährdet sind meine Webs / ist mein Server bei meinen eigenen Closed Source PHP Applikationen, wenn ich die Security Tips von Zend und PHP beachtet habe und jede Benutzereingabe validiere?
Natürlich kann niemand garantieren, dass seine Software fehlerfrei ist, aber es gibt doch Software, wo das besonders häufig vorkommt (und da tut sich M$ eher negativ hervor - trotz closed-source bzw. "Security by Obscurity" - wie hier bereits bemerkt wurde).
Dazu kommt bei Root-Servern, dass Du den Server auch ordentlich konfigurieren musst - was leider viele Leute die sich nach den ersten PHP-Erfahrung fitt fühlen für den eigenen Root-Server ("wozu gibt es Confixx?"), nicht wirklich hinbekommen.
Ein paar Links für den Einstieg:
http://de3.php.net/security
http://phpsec.org/projects/guide/
http://talks.php.net/index.php/Security
http://www.owasp.org/documentation/guid ... loads.html
http://www.w3.org/Security/faq/www-security-faq.html
Und hier im Forum mal nach den feststehenden Threads gucken, da steht noch sehr viel mehr drin.
Grüße
Andreas
-
- Posts: 147
- Joined: 2005-01-20 03:07
Re: Sicherheit bei Webapplikationen
Danke euch .. das sollte schonmal ein guter Anfang sein :)
Genug lernen kann man sowieso nie :(
Genug lernen kann man sowieso nie :(
-
- Posts: 696
- Joined: 2004-01-27 14:16
- Location: Aachen
-
- Posts: 669
- Joined: 2002-12-20 19:47
- Location: Mönchengladbach
Re: Sicherheit bei Webapplikationen
Wenn wir schon dabei sind, Links zu verteilen:
http://md.hudora.de/presentations/#common-failures2005
http://md.hudora.de/presentations/#common-failures2005