MB: Sicheres PHP-Framework

Abend,

Vorhaben: ich hab vor ein kleines PHP-Framework zu kreieren. Da dies mein erstes unterfangen ist, würde ich gerne wissen wo sicharheitslücken existieren.

Frage: Wie stelle ich sicher das mein Framework gut gesichret ist?

zur Info: Ich hab sporadische Kenntnisse der IT-Sicherheit

LG MB

  1. Tach,

    Vorhaben: ich hab vor ein kleines PHP-Framework zu kreieren. Da dies mein erstes unterfangen ist, würde ich gerne wissen wo sicharheitslücken existieren.

    Warum? Wenn die Antwort nicht „Ich möchte es tun, um mehr darüber zu lernen, es aber nicht produktiv einsetzen.“ lautet, ist es vermutlich keine gute Idee.

    Frage: Wie stelle ich sicher das mein Framework gut gesichret ist?

    Lass andere, die sich damit auskennen den Quelltext analysieren.

    mfg
    Woodfighter

    1. nabend Woodfighter,

      Warum? Wenn die Antwort nicht „Ich möchte es tun, um mehr darüber zu lernen, es aber nicht produktiv einsetzen.“ lautet, ist es vermutlich keine gute Idee.

      Ok, Warum???

      Lass andere, die sich damit auskennen den Quelltext analysieren.

      Will ich hier tun. Leider fehlt mir ein Netwerk aus profies. Ich habe gehofft man würde refferenzen schaffen.

      Grüße MB

      1. Tach,

        Warum? Wenn die Antwort nicht „Ich möchte es tun, um mehr darüber zu lernen, es aber nicht produktiv einsetzen.“ lautet, ist es vermutlich keine gute Idee.

        Ok, Warum???

        weil es bestimmt eine interessante Lernerfahrung sein kann (@Christian Kruse hat das mal beschrieben: https://forum.selfhtml.org/self/2015/may/27/lineare-interpolation/1641724#m1641724), allerdings wird dein Framework vermutlich niemals die Bekanntheit der bereits vorhandenen und verbreiteten Frameworks erreichen und entsprechend immer schlechter getestet sein als diese. Wenn Sicherheit eine Rolle spielt, ist ein Viele-Augen-Prinzip von erfahrenen Entwicklern durch wenig anderes zu ersetzen und selbst diese machen ständig Fehler.

        Lass andere, die sich damit auskennen den Quelltext analysieren.

        Will ich hier tun. Leider fehlt mir ein Netwerk aus profies.

        Profis in dem Bereich sind teuer (und gute Profis auch noch rar) und ich bin froh über jeden Profi in dem Bereich, der sich die Zeit nimmt freien Projekten weiter zu helfen, aber ich vermute, dass deren Zeit besser in die Überprüfung weit verbreiteter Software investiert werden sollte.

        mfg
        Woodfighter

        1. Morgen,

          weil es bestimmt eine interessante Lernerfahrung sein kann allerdings wird dein Framework vermutlich niemals die Bekanntheit der bereits vorhandenen und verbreiteten Frameworks erreichen und entsprechend immer schlechter getestet sein als diese.

          Richtig! Wo ist das Problem?

          Lass andere, die sich damit auskennen den Quelltext analysieren.

          Will ich hier tun. Leider fehlt mir ein Netwerk aus profies.

          Profis in dem Bereich sind teuer (und gute Profis auch noch rar) und ich bin froh über jeden Profi in dem Bereich, der sich die Zeit nimmt freien Projekten weiter zu helfen, aber ich vermute, dass deren Zeit besser in die Überprüfung weit verbreiteter Software investiert werden sollte.

          Nur wer zeit, lust, interesse, sonstwas hat. Ich unterstehe mich zu verlangen. Erstens kann ich das nicht und zweiten will ich das nicht. Ich bin viel zu viel unbedeutend.

          LG MB

          1. Tach,

            weil es bestimmt eine interessante Lernerfahrung sein kann allerdings wird dein Framework vermutlich niemals die Bekanntheit der bereits vorhandenen und verbreiteten Frameworks erreichen und entsprechend immer schlechter getestet sein als diese.

            Richtig! Wo ist das Problem?

            das ist für ein Lernprojekt wie gesagt kein Problem.

            Profis in dem Bereich sind teuer (und gute Profis auch noch rar) und ich bin froh über jeden Profi in dem Bereich, der sich die Zeit nimmt freien Projekten weiter zu helfen, aber ich vermute, dass deren Zeit besser in die Überprüfung weit verbreiteter Software investiert werden sollte.

            Nur wer zeit, lust, interesse, sonstwas hat. Ich unterstehe mich zu verlangen. Erstens kann ich das nicht und zweiten will ich das nicht.

            Das wollte ich damit nicht aussagen, eher dass deine Chance hier viele Profis auf dem Niveau zu finden nicht sehr groß ist; ein paar der Regulars hat meiner Meinung nach die Fähigkeit sich das entsprechende Wissen anzueignen oder haben dieses schon, aber wie man an Svens Beispiel sehen kann, sind auch diese eher vorsichtig.

            Ich bin viel zu viel unbedeutend.

            Auch das muss nicht wahr sein (realistisch betrachtet ist es aber recht wahrscheinlich, so deprimierend das klingen mag).

            mfg
            Woodfighter

            1. nabend Woodfighter,

              Ich bin viel zu viel unbedeutend.

              Auch das muss nicht wahr sein (realistisch betrachtet ist es aber recht wahrscheinlich, so deprimierend das klingen mag).

              Ich bin neu, Punkt und weit entfern von profesionalität. Ich sehe das so. Vielleicht war "unbedeutend" ein weit gefasster begriff und nicht gut platziert. Danke für die Hinweis ;-).

              LG MB

  2. Hallo,

    Vorhaben: ich hab vor ein Auto zu bauen. Da dies mein Erstes ist, würde ich gerne wissen wie Unfälle passieren.

    Frage: Wie stelle ich sicher das mein Auto keine Unfälle baut?

    zur Info: Ich hab einen Führerschein

    Gruß
    Kalk

    1. sehr schön xD

  3. Abend,

    Vorhaben: ich hab vor ein kleines PHP-Framework zu kreieren. Da dies mein erstes unterfangen ist, würde ich gerne wissen wo sicharheitslücken existieren.

    Z.B. wenn infolge URI-Manipulationen möglich wird, an Inhalte zu kommen, die einer Zugangskontrolle unterliegen. D.h., dass Du nicht den URL gegen Zugriff sichern solltest (was u.a. Auth Basic macht) sondern den bzw. die Inhalte.

    In Fakt sollte ein Inhalt abhängig von Benutzer/Gruppe ausgehandelt werden.

    1. Tach,

      D.h., dass Du nicht den URL gegen Zugriff sichern solltest (was u.a. Auth Basic macht)

      dies ist eine falsche Aussage.

      mfg
      Woodfighter

      1. Tach,

        D.h., dass Du nicht den URL gegen Zugriff sichern solltest (was u.a. Auth Basic macht)

        dies ist eine falsche Aussage.

        Ich fass es nicht, was ist denn hier los!?

        1. Tach,

          D.h., dass Du nicht den URL gegen Zugriff sichern solltest (was u.a. Auth Basic macht)

          dies ist eine falsche Aussage.

          Ich fass es nicht, was ist denn hier los!?

          wenn du Unsinn schreibst, kommt jemand vorbei und korrigiert das - so wie schon seit vielen Jahren - was überrascht dich jetzt auf einmal daran?

          Und jetzt noch ein Beispiel, damit auch alle sehen können, warum es Unsinn ist http://httpd.apache.org/docs/current/howto/auth.html#dbmdbd, Basic Auth auf Verzeichnisebene mit dem Apache, egal wie die zugehörige URI lautet.

          mfg
          Woodfighter

          1. Tach,

            D.h., dass Du nicht den URL gegen Zugriff sichern solltest (was u.a. Auth Basic macht)

            dies ist eine falsche Aussage.

            Ich fass es nicht, was ist denn hier los!?

            wenn du Unsinn schreibst, kommt jemand vorbei und korrigiert das - so wie schon seit vielen Jahren - was überrascht dich jetzt auf einmal daran?

            Authorization Basic schützt URLs, war schon immer so. Siehe auch PHP QSA

            1. Tach,

              Authorization Basic schützt URLs, war schon immer so. Siehe auch PHP QSA

              HTTP Basic Auth funktioniert nur über HTTP, wer hätte das bei dem Namen wohl gedacht; wenn jemand wie in deinem Beispiel geschrieben, ein Script mit einer Directory-Traversal-Lücke auf den Server stellt, greift dieses (i.A.) nicht über HTTP auf die Inhalte zu; mit der Funktionsweise von Basic Auth hat das allerdings nicht das geringste zu tun.

              mfg
              Woodfighter

              1. HTTP Basic Auth funktioniert nur über HTTP, wer hätte das bei dem Namen wohl gedacht; wenn jemand wie in deinem Beispiel geschrieben, ein Script mit einer Directory-Traversal-Lücke

                Nein. In meinem Beispiel habe ich beschrieben, wie Auth. Basic, in .htaccess für einen bestimmten URL konfiguriert, umgangen werden kann infolge Manipulation von Request-Parametern. Das Beispiel kann jeder nachstellen, sollte also auch für Dich kein Problem sein.

                PS: Und lass Deine sinnlosen Streitereien, Du machst Dich lächerlich. Wenn Du die Begriffe nicht verstehst, frag nach oder betrachte den Kontext. Du bist doch Programmierer, oder hast zumindest mal Programmiert. Wenn Du nicht in der Lage bist, abstrakt zu denken, dann bist Du als Programmierer ungeeignet. Abstrakt denken heißt nämlich auch Begriffe aus dem Zusammenhang heraus in ihrer Bedeutung zu erkennen.

                Und noch was: Wenn ich eine Idee habe, dann weiß ich auch wie ich die umsetze, sonst wäre ich beruflich nie so erfolgreich gewesen. Es gibt genügend Leute, die ich für meine Ideen begeistern konnte, da war nicht einer unter denen, die sich an irgenwelchen unverständlichen Begriffen aufgehängt hätten. Zu denen wirst Du nie gehören, das ist das Eine und das Andere ist, dass Du wahrscheinlich nie verstehen wirst, was ich Dir gerade eben erklärt habe.

                Bei der Gelegenheit, @dedlfix: Guck Dir mal den Abstrakten Datentyp Entity-Attribute-Value an, kurz EAV. Vielleicht merkst Du dann, wie unsinnig es ist, vermeintliche Unterschiede zwischen den Begriffen Attribute/Eigenschaft diskutieren zu wollen.

                1. Tach,

                  HTTP Basic Auth funktioniert nur über HTTP, wer hätte das bei dem Namen wohl gedacht; wenn jemand wie in deinem Beispiel geschrieben, ein Script mit einer Directory-Traversal-Lücke

                  Nein. In meinem Beispiel habe ich beschrieben, wie Auth. Basic, in .htaccess für einen bestimmten URL konfiguriert, umgangen werden kann infolge Manipulation von Request-Parametern. Das Beispiel kann jeder nachstellen, sollte also auch für Dich kein Problem sein.

                  wie schon gesagt: nein

                  PS: Und lass Deine sinnlosen Streitereien, Du machst Dich lächerlich.

                  So leid es mir tut, aber der einzige, der das hier leider regelmäßig tut, bist du; allerdings ist mir dabei nicht nach Lachen zumute, sondern ich empfinde nur Mitleid (Mitleid unter der Voraussetzung, dass du nicht absichtlich trollst, aber das Gefühl habe ich nicht; wäre dem so, hätte ich schon lange die Moderation darum gebeten, deine Beiträge vollständig dauerhaft löschen zu lassen, siehe https://forum.selfhtml.org/self/2016/apr/1/namespace-in-applikationen/1664958#m1664958 ff.), weil dir das offensichtlich nicht bewusst wird.

                  mfg
                  Woodfighter

                2. Hallo pl,

                  Nein. In meinem Beispiel habe ich beschrieben, wie Auth. Basic, in .htaccess für einen bestimmten URL konfiguriert, umgangen werden kann infolge Manipulation von Request-Parametern.

                  Davon, dass du jahrelang den gleichen Mist wiederholst wird er nicht wahrer.

                  LG,
                  CK

                  1. Tach,

                    Davon, dass du jahrelang den gleichen Mist wiederholst wird er nicht wahrer.

                    ah, deswegen kam mir das bekannt vor.

                    mfg
                    Woodfighter

      2. Hast Du den Unterschied zwischen URL schützen und Inhalt schützen überhaupt verstanden!?

        1. Tach,

          Hast Du den Unterschied zwischen URL schützen und Inhalt schützen überhaupt verstanden!?

          da du das schreibst, kann ich mir nicht sicher sein, es besteht immerhin die Möglichkeit, dass du wieder mal falsche Begriffe verwendest: https://forum.selfhtml.org/self/2016/mar/29/email-mit-anhang-von-user/1664435#m1664435

          mfg
          Woodfighter

  4. Hallo

    zur Info: Ich hab sporadische Kenntnisse der IT-Sicherheit

    dann solltest du immer dann am Framework arbeiten, wenn die Kenntnisse gerade mal da sind :). SCNR

    Gruß
    Jürgen

    1. nabend JürgenB,

      zur Info: Ich hab sporadische Kenntnisse der IT-Sicherheit

      dann solltest du immer dann am Framework arbeiten, wenn die Kenntnisse gerade mal da sind :). SCNR

      Sry, das checke ich nicht.

      Gruß MB

      1. Hallo,

        zur Info: Ich hab sporadische Kenntnisse der IT-Sicherheit

        dann solltest du immer dann am Framework arbeiten, wenn die Kenntnisse gerade mal da sind :). SCNR

        Sry, das checke ich nicht.

        hast du denn den verlinkten Artikel gelesen?
        Sporadisch bedeutet soviel wie "gelegentlich". Sporadisch bedeutet, dass etwas ab und zu, aber nicht vorhersehbar auftritt. Hilft dir das weiter?

        So long,
         Martin

        --
        Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
      2. Hallo

        zur Info: Ich hab sporadische Kenntnisse der IT-Sicherheit

        dann solltest du immer dann am Framework arbeiten, wenn die Kenntnisse gerade mal da sind :). SCNR

        Sry, das checke ich nicht.

        Folge bitte dem Link auf dem Wort „sporadische“. Sollte selbsterklärend sein. :-)

        Tschö, Auge

        --
        Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
        Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
      3. Heilige Sch...! Meine Herren, was willte ich den sagen. Mir viel grad das Deutsche wort nicht ein darum habe ich ein anderes verwendet was genauso Falsch ist :/. Ich kann mich jetzt in dieser situation nicht richtig artikulieren. Danke euch.

        1. Tach,

          Heilige Sch...! Meine Herren, was willte ich den sagen. Mir viel grad das Deutsche wort nicht ein darum habe ich ein anderes verwendet was genauso Falsch ist :/. Ich kann mich jetzt in dieser situation nicht richtig artikulieren. Danke euch.

          :-) je aufgeregter du wirst, um so schlechter wird dein Schriftdeutsch; aber mach dir keine Sorgen ich bin letztens in einer Mail innerhalb eines Satzes von deutsch auf englisch ausgewichen (im Sprachgebrauch passiert mir das häufiger, aber da ist auch weniger Zeit zum Umformulieren), weil ich den Gedanken nicht artikuliert bekam. Und den Stammpostern hier sind deine Sprachprobleme (wenn ich das so sagen darf) ja bekannt, ich vermute mal auch @JürgenB, der sein Posting deswegen auch als nicht ganz erst gemeint markiert hat; falls das für dich nicht ok oder zu verwirrend ist, musst du dich vermutlich nur melden.

          mfg
          Woodfighter

          1. Morgen,

            :-) je aufgeregter du wirst, um so schlechter wird dein Schriftdeutsch;

            EXAKT :)!!!

            aber mach dir keine Sorgen ich bin letztens in einer Mail innerhalb eines Satzes von deutsch auf englisch ausgewichen (im Sprachgebrauch passiert mir das häufiger, aber da ist auch weniger Zeit zum Umformulieren), weil ich den Gedanken nicht artikuliert bekam.

            krass...

            Und den Stammpostern hier sind deine Sprachprobleme (wenn ich das so sagen darf) ja bekannt, ich vermute mal auch @JürgenB, der sein Posting deswegen auch als nicht ganz erst gemeint markiert hat; falls das für dich nicht ok oder zu verwirrend ist, musst du dich vermutlich nur melden.

            Also ich hab auch andere Probleme außerhalb der Sprachstörung warum ich etwas Zwischenmenschliches nicht oder nur schwer wahrnehme oder auffassen kann. Und da kann ich nur sagen Ja und Amen wenn ich etwas Zwischenmenchliches - wie so oft - nicht verstanden habe. Jedoch kenne ich euch gut genug das ich das verstehe. Und ich hab herzlich gelacht als ich das von JürgenB gelesen habe. Ich könnt immernoch lachen. Also keine Sorge.

            Wünsch euch ne schöne Nacht bzw. Guten Morgen

            VLG MB

        2. Hallo,

          ich hoffe, du hast mein „SCNR“ gesehen. Deine „Steilvorlage“ konnte (oder wollte) ich mir nicht entgehen lassen. Etwas Spass darf sein :).

          Gruß
          Jürgen

          1. genau ;-)

            lg mb

  5. Tach!

    Frage: Wie stelle ich sicher das mein Framework gut gesichret ist?

    Sicherheit ist kein Wert, den man etwa in Prozent messen kann. Fragen nach der Sicherheit müssen immer mit dem Zusatz "wogegen" gestellt werden. Und da muss man sich erstmal Gedanken machen, was man absichern will, was man absichern kann, und was man nicht absichern kann.

    Zum Beispiel: Absichern gegen Eingabefehler ist etwas, das ein Framework kaum kann, weil es nicht weiß, was der Anwendungsfall für Anforderungen hat. Es kann für solche Fälle nur Validatoren liefern, die der Verwender benutzen kann oder es auch lassen kann. Und schon ist die Anwendung, die mit deinem Framework läuft, unsicher, ohne dass dein Framework etwas dagegen unternehmen kann.

    dedlfix.

    1. Hallo dedlfix,

      schöne treffende AW.

      vlg MB

  6. Moin!

    Vorhaben: ich hab vor ein kleines PHP-Framework zu kreieren. Da dies mein erstes unterfangen ist, würde ich gerne wissen wo sicharheitslücken existieren.

    Lies die OWASP Top 10 - hier das PDF in deutscher Sprache für die Situation ab 2013.

    Frage: Wie stelle ich sicher das mein Framework gut gesichret ist?

    Wie der Name "Top 10" andeutet, hast du es mit MINDESTENS 10 Themengebieten zu tun, die alle ihrerseits komplex sind, deshalb also keine simple Antwort erlauben:

    A1: Injection
    A2: Fehler in Authentifizierung und Session-Management
    A3: Cross-Site Scripting (XSS)
    A4: Unsichere direkte Objektreferenzen
    A5: Sicherheitsrelevante Fehlkonfiguration
    A6: Verlust der Vertraulichkeit sensibler Daten
    A7: Fehlerhafte Autorisierung auf Anwendungsebene
    A8: Cross-Site Request Forgery (CSRF)
    A9: Nutzung von Komponenten mit bekannten Schwachstellen
    A10: Ungeprüfte Um- und Weiterleitungen

    Manche Punkte treffen für PHP weniger zu, bzw. sind nur in bestimmten Kontexten relevant. Aber nach Punkt 10 ist die Liste der möglichen Schwachstellen halt noch nicht zu Ende.

    Deine Frage, so wie gestellt, KANN man NICHT beantworten.

    zur Info: Ich hab sporadische Kenntnisse der IT-Sicherheit

    Nimm nur mal den Punkt A3 XSS heraus: Welches Problem existiert hier?

    echo "<a href='next.php?page=$page'>weiter</a>";
    

    Also genauer gesagt: Das Problem ist offensichtlich, es fehlt an Absicherung gegen XSS - aber wie genau muss die aussehen?

    Ich möchte dich einladen, hier eine Antwort zu geben. Ich bin mir fast sicher, sie wird falsch sein, weil dir die Erfahrungswerte fehlen. Ich persönlich müsste ebenfalls erst recherchieren, um KEINE falsche Antwort zu geben. Vielleicht sollten wir das tatsächlich mal machen - du zuerst! :)

    Und genau dasselbe erwartet dich bei allen anderen 9 Punkten der Top-10-Liste.

    Grüße Sven

    1. nabend Sven,

      Wie der Name "Top 10" andeutet, hast du es mit MINDESTENS 10 Themengebieten zu tun, die alle ihrerseits komplex sind, deshalb also keine simple Antwort erlauben:

      DANKE DANKE DANKE. Prima Lektüre und dann auch noch auf Deutsch.

      echo "<a href='next.php?page=$page'>weiter</a>";
      

      Ich möchte dich einladen, hier eine Antwort zu geben. Ich bin mir fast sicher, sie wird falsch sein, weil dir die Erfahrungswerte fehlen. Ich persönlich müsste ebenfalls erst recherchieren, um KEINE falsche Antwort zu geben. Vielleicht sollten wir das tatsächlich mal machen - du zuerst! :)

      Jo ich bedanke mich recht Herzlich bei dir. Ich bin echt Greenhorn. Ich würde mal aus dem bauch heraus sagen das man das anfangen muss und nur bestimmte parameter gelten lassen. ich hab in meinem vergangenen Projekt es so gelöst:

      Navigation Klasse aus Folder Klasse:

          public function setNavigate( $hide ) {
              $cut = strlen( $this->type ) + 1;
              $navigate = '<ul>';
              for( $i = 0; $i < count( $this->folder ); $i++ ) {
                  $b = true;
                  for( $j = 0; $j < count( $hide ); $j++ ) {
                      if( $hide[ $j ] == $this->folder[ $i ] )
                          $b = false;
                  }
                  if( $b ) {
                      $len = strlen( $this->folder[ $i ] );
                      $remove = $len - $cut;
                      $text = substr( $this->folder[ $i ], 0, $remove );
                      $page = $this->dir;
                      $navigate .= "<li><a href=\"?$page=$text\">$text</a></li>\n";
                  }
              }
              $navigate .= '</ul>';
              return $navigate;
          }
      
       public function getPage() {
          if( isset( $_GET[ $this->dir ] ) ) {
              $page = $_GET[ $this->dir ];
              if( in_array( "$page.{$this->type}", $this->folder ) ) {
                 include( "{$this->path}$page.{$this->type}" );
              } else {
                  $this->setMessage( 'file', 'error' );
                  include( "{$this->path}{$this->error}.{$this->type}" );
              }
          } else {
              include( "{$this->path}{$this->def}.{$this->type}" );
          }
      }
      

      Morgen schreibe ich eine Klusur, die aber auch überhaupt nix mit IT zutun hat. Also wird wohl nix mit recherchen :/. in den Sommerferien mache ich es mir zur Aufgabe

      vlg MB

    2. Hallo und guten Morgen,

      Vorhaben: ich hab vor ein kleines PHP-Framework zu kreieren. Da dies mein erstes unterfangen ist, würde ich gerne wissen wo sicharheitslücken existieren.

      Lies die OWASP Top 10 - hier das PDF in deutscher Sprache für die Situation ab 2013.

      Frage: Wie stelle ich sicher das mein Framework gut gesichret ist?

      Wie der Name "Top 10" andeutet, hast du es mit MINDESTENS 10 Themengebieten zu tun, die alle ihrerseits komplex sind, deshalb also keine simple Antwort erlauben:

      A1: Injection
      A2: Fehler in Authentifizierung und Session-Management
      A3: Cross-Site Scripting (XSS)
      A4: Unsichere direkte Objektreferenzen
      A5: Sicherheitsrelevante Fehlkonfiguration
      A6: Verlust der Vertraulichkeit sensibler Daten
      A7: Fehlerhafte Autorisierung auf Anwendungsebene
      A8: Cross-Site Request Forgery (CSRF)
      A9: Nutzung von Komponenten mit bekannten Schwachstellen
      A10: Ungeprüfte Um- und Weiterleitungen

      Manche Punkte treffen für PHP weniger zu, bzw. sind nur in bestimmten Kontexten relevant. Aber nach Punkt 10 ist die Liste der möglichen Schwachstellen halt noch nicht zu Ende.

      Deine Frage, so wie gestellt, KANN man NICHT beantworten.

      zur Info: Ich hab sporadische Kenntnisse der IT-Sicherheit

      Nimm nur mal den Punkt A3 XSS heraus: Welches Problem existiert hier?

      echo "<a href='next.php?page=$page'>weiter</a>";
      

      Also genauer gesagt: Das Problem ist offensichtlich, es fehlt an Absicherung gegen XSS - aber wie genau muss die aussehen?

      Ich finde das Thema immer wieder sehr interessant, auch weil ich selber schon viele Fehler gemacht habe im Laufe der Jahre :-O

      Deshalb möchte ich einige Punkte anhängen:

      • Das Framework kann selber "sicher" sein, wenn das Umfeld der damit erstellten Applikation nicht passt, ist der Schaden vorprogrammiert
      • Man benötigt speziell bei PHP eine sichere Trennung zu anderen Anwendungen durch wohlüberlegte Einrichtung der Server auf dem Host. Da PHP oft als Modulversion des Webservers läuft, stecken hier bereits die ersten Lücken versteckt.
      • Sinnvolle Überwachung ist viel wert! Zugeteilte Rechte, z. B. für Datenbankuser, sollten immer so gering wie möglich gehalten werden. Außerdem nützt es nichts, die DB-User z.B: mit fail2ban zu überwachen, wenn die Applikation (bei den üblichen Zugriffskontrollen mittels Datenbank) selber keine Überwachtung von Fehlversuchen vornimmt. Diese "User" laufen ja meistens unter demselben DB-User...

      Es kommt also immer darauf an, wie man seine Applikationen mit dem Framework erstellt. Das Framework kann noch so "sicher" sein, wenn der Programmierer nicth nachdenkt, was er damit anstellt, ist die vermeintliche Sicherheit dahin.

      Typische Fehler stecken in Uploadscripten, unverschlüsselter Kommunikation, grabbable Links (z.B. so ähnlich, wie Sven ihn schon für XSS gezeigt hat, mit erratbaren oder sogar ordinalen Werten), nicht überwachten Anmeldeverfahren ("Logins"), usw..

      Grüße
      TS

      --
      es wachse der Freifunk
      http://freifunk-oberharz.de
  7. Abend,

    Vorhaben: ich hab vor ein kleines PHP-Framework zu kreieren. Da dies mein erstes unterfangen ist, würde ich gerne wissen wo sicharheitslücken existieren.

    Frage: Wie stelle ich sicher das mein Framework gut gesichret ist?

    zur Info: Ich hab sporadische Kenntnisse der IT-Sicherheit

    LG MB

    Weil es PHP sein muss, hier ein Einzelkämpfer der ein sichres PHP Framework und einen Webserver geschrieben hat. Sieh es dir an, es hilft vielleicht bei der Entscheidungsfindung.

    Banshee

    Hiawatha

    Auf Github