tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
300
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Hallo zusammen,

    ich bin vorhin auf einem heise.de Artikel auf die Top 20 Hacker-Ziele gestoßen. Bei dem Punkt "Web Applications" steht ganz oben PHP. Hier sind die angemahnten "Lücken" in PHP: http://www.sans.org/top20/2005/#c1

    Ich fänd es nicht schlecht, wenn man zu den genannten Problemen vielleicht eine Situationsbeschreibung machen würde und dann dazu die entsprechende Lösung, denn viele machen sich ja keine Gedanken darum, ihre Website auch vor Missbrauch und Attacken zu schützen.


    Gruß Radhad
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  2. #2
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Ein paar interessante Beispiele kannst Du in der, auch im Thread Sicherheit in PHP velinkten, Flash-Praesentation PHP Security by Example finden.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Sicherheit ist eher ein Grundgedanke oder eine Ahnung, die man haben muss, als eine feste Liste mit Punkten. Es geht darum, zu verstehen, was ein Skript macht und an welchen Stellen es angreifbar oder nur schwach geschützt ist. Dabei muss man sich mit viel Kreativität und Phantasie vorstellen, was passieren könnte, wenn etwa statt des erwarteten X ein Y verarbeitet wird.

    Nehmen wir mal das Beispiel SQL-Injektionen. Eine Abfrage mit Benutzerdaten zu füllen, ist recht einfach: einfach in der Abfragedefinition die Variable einsetzen und fertig. Bei einfachen alphanumerischen Daten ist das auch kein Ding, doch was passiert, wenn nun etwa Anführungszeichen in den Daten enthalten sind? Was passiert dann mit der definierten Abfrage? Ist sie dann immer noch syntaktisch und semantisch korrekt? Oder wird die Zeichenkette vorzeitig abgeschlossen und der Teil nach dem Anführungszeichen wird von MySQL nicht mehr als Zeichenkette gewertet? Falls ja, wie kann ich das unterbinden? Soll ich die entsprechenden Zeichen einfach verbieten oder gibt es eine Möglichkeit sie einfach nur zu entschärfen? Gibt es vielleicht noch andere Zeichen, die missbraucht werden könnten? Wie …

    Solche Fragen lassen sich gewiss noch weiterführen. Doch sie führen auf einen Punkt, nämlich dass der Entwickler bei seiner Arbeit immer wachsam und aufmerksam sein muss und die Schwachstellen erahnen kann.
     
    Markus Wulftange

  4. #4
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    @Gumbo: Das ist ja das, was man im Regelfalle auch tut. Trotz allem könnte man doch anhand von Beispielen zeigen, warum der Code XY angreifbar ist und dann aufzeigen, wie man es richtig macht. So hätten einige User hier im Forum eher die Möglichekit, ihre Website abzusichern.

    Ich habe selber auch nicht alles abgedichtet. ich habe bisher lediglich bei den SQL-Strings die Variablen in mysql_real_escape_string() gesetzt, bin aber nicht sicher, ob das Richtig ist. Vielleicht muss ja uch der ganze SQL-String in mysql_real_escape_string() gepackt werden? Darauf hab ich z.B. nie eine Antwort gefunden. Und es gibt ja noch genug andere Sachen - daher wär ne Übersicht mit den Beispielen nicht schlecht.
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  5. #5
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Zitat Zitat von Radhad Beitrag anzeigen
    Das ist ja das, was man im Regelfalle auch tut. Trotz allem könnte man doch anhand von Beispielen zeigen, warum der Code XY angreifbar ist und dann aufzeigen, wie man es richtig macht. So hätten einige User hier im Forum eher die Möglichekit, ihre Website abzusichern.
    Damit würde wahrscheinlich auch nur für die genannten Beispiele geholfen sein. Denn es ist nicht wichtig eine Problemlösung präsentiert zu bekommen, sondern ein allgemeines Gespühr dafür zu bekommen, wie Sicherheitslücken entdeckt und dann auch gestopft werden können.

    Stell dir mal vor, da gibt es eine massive Sicherheitslücke in einem Programm. Der Entwickler muss nun eine Lösung für dieses Problem finden und vielleicht noch weitere Sicherheitslücken finden, die dadruch erst eröffnet werden. Der Programmierer bekommt dann die Ergebnisse dieser Analyse und setzt das Ganze um.
    Was glaubst du nun, wer mehr verdient? Der Programmierer (der Praktiker), der die fertige Lösung einfach nur umsetzt oder der Entwickler (der Theoretiker), der sich über die Lösung des Problems den Kopf zerbrochen hat?


    Zitat Zitat von Radhad Beitrag anzeigen
    ich habe bisher lediglich bei den SQL-Strings die Variablen in mysql_real_escape_string() gesetzt, bin aber nicht sicher, ob das Richtig ist. Vielleicht muss ja uch der ganze SQL-String in mysql_real_escape_string() gepackt werden?
    Diese Frage sollte dir die Referenzseite mysql_real_escape_string()-Funktion beantworten können. Denn diese enthält neben einem von dir geforderten Beispiel auch eine detaillierte Beschreibung der Funktion. Die Kurzbeschreibung lautet etwa:
    Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
    Die mysql_real_escape_string()-Funktion ist also nicht auf die gesamte SQL-Anweisung sondern nur für Teile (genauer gesagt für Zeichenketten) innerhalb einer SQL-Anweisung eingesetzt werden.
     
    Markus Wulftange

Ähnliche Themen

  1. Sicherheit? Wie und was?
    Von BeaTBoxX im Forum PHP
    Antworten: 4
    Letzter Beitrag: 28.04.11, 13:28
  2. Sicherheit?
    Von hhunderter im Forum PHP
    Antworten: 2
    Letzter Beitrag: 10.01.09, 03:03
  3. [AS3] XML-Klasse mit praktischen Erweiterungen
    Von luke_the_duke im Forum Flash FAQ
    Antworten: 0
    Letzter Beitrag: 30.12.08, 18:11
  4. Antworten: 3
    Letzter Beitrag: 17.05.06, 20:32
  5. Buch Speziell mit ASP.NET Beispielen für VS.NET
    Von deutscherguru im Forum ASP
    Antworten: 12
    Letzter Beitrag: 26.01.03, 15:19