Boubou: Input Value gehackt

Hallo zusammen hab ne Frage meine Inputfelder wurden gehackt. Meine Input Value sind S_POST Daten nur in meinen Textfeldern stehen HTML Befehle das ständig die Error Notiz erscheint. Wie kann ich die eingehackten Befehle los werden, mit strip_tags kann ich es sichern, aber wie bekomme ich die weg wenn schon die Felder gehackt sind?

  1. Mahlzeit Boubou,

    Hallo zusammen hab ne Frage meine Inputfelder wurden gehackt.

    Sicher? Wie soll das funktionieren?

    Meine Input Value sind S_POST Daten nur in meinen Textfeldern stehen HTML Befehle das ständig die Error Notiz erscheint.

    Hm, das Skript, das die Eingaben aus dem Formular verarbeitet, nimmt also die Eingaben ungeprüft entgegen und gibt sie einfach wieder aus, ohne sie kontextgerecht zu maskieren?

    Vielleicht solltest Du etwas mehr Code zeigen - Glaskugeln sind grad aus. Kommen auch nicht wieder rein.

    Wie kann ich die eingehackten Befehle los werden, mit strip_tags kann ich es sichern, aber wie bekomme ich die weg wenn schon die Felder gehackt sind?

    Beschreibe Dein Problem so, dass es Deine Leser auch verstehen (können). Was meinst Du mit "Felder gehackt"?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Also zur besseren Verdeutlichung.
      Überall wo ich in meinem Programm bei den Input Feldern für Value ein S_POST drin stehen hab, steht bei mir ein HTML Befehl schon ausgefüllt. Beispiel: <br>NoticeFehlermeldung... usw. Dieser wird auch ausgeführt, sodass in meinen ganzen Scripten die Notice steht.

      Wie kann ich diese unerwünschten Befehle rausbekommen? Ich will gar keine HTML Tags haben daher hab ich bei einigen strip_tag verwendet und bei denen wo ich es vergessen hab steht das da. Wie bekomme ich das wieder entfernt?

      1. Also zur besseren Verdeutlichung.

        Das verdeutlicht gar nichts. Wir können nicht hellsehen und deine Beschreibung klingt sehr wirr, wir sehen nicht was du siehst und können aus deinen Schilderungen nicht erkennen wo dein Problem liegt. "Input Values" können nicht gehackt werden.

        Du wirst uns schon etwas konkretes zeigen müssen.

        Struppi.

        1. Also zur besseren Verdeutlichung.

          Das verdeutlicht gar nichts. Wir können nicht hellsehen und deine Beschreibung klingt sehr wirr, wir sehen nicht was du siehst und können aus deinen Schilderungen nicht erkennen wo dein Problem liegt. "Input Values" können nicht gehackt werden.

          Du wirst uns schon etwas konkretes zeigen müssen.

          Meine Input Felder haben Value = $_POST['variable']. Alle $_POST variablen haben jetzt als Inhalt <br /><b>botice<b> stehen. Das ist das Problem. Ich will diesen unerwünschten Inhalt irgendwie entfernen und gar nicht drin haben. Wie kann ich ihn entfernen bzw. meine $_POST variablen wieder davon befreien?

          1. Meine Input Felder haben Value = $_POST['variable']. Alle $_POST variablen haben jetzt als Inhalt <br /><b>botice<b> stehen. Das ist das Problem.

            Woher kommt denn dieser Inhalt? Du - und nur du - kennst das Skript, d.h. du musst diese Werte da rein geschrieben haben. wo ist also das Problem?

            Struppi.

            1. Woher kommt denn dieser Inhalt? Du - und nur du - kennst das Skript, d.h. du musst diese Werte da rein geschrieben haben. wo ist also das Problem?

              Nein mein Ausbilder war es, um mir eine Lehre zu erteilen, damit ich sauber programmiere. Jetzt soll ich herausfinden wie ich das wieder rausbekomme. Da ich aber gerade am Anfang meiner Ausbildung bin hab ich keine ahnung. Ich soll es auf jeden fall selber herausfinden.Daher frag ich euch nach Rat.

              1. Woher kommt denn dieser Inhalt? Du - und nur du - kennst das Skript, d.h. du musst diese Werte da rein geschrieben haben. wo ist also das Problem?

                Nein mein Ausbilder war es, um mir eine Lehre zu erteilen, damit ich sauber programmiere. Jetzt soll ich herausfinden wie ich das wieder rausbekomme. Da ich aber gerade am Anfang meiner Ausbildung bin hab ich keine ahnung. Ich soll es auf jeden fall selber herausfinden.Daher frag ich euch nach Rat.

                Ich kann mich nur wiederholen, wior können nicht hellsehen und deine Beschreibung ist null hilfreich um dir zu helfen.

                Du hast deine Frage unter dem Bereich HTML gepostet und so wie es scheint ist es aber ein PHP Problem, es kann aber auch alles mögliche andere sein, nicht mal das Wissen wir.

                Was erwartest du jetzt von uns? (zumal - wenn es denn eine PHP Frage ist - du schon mehrfach einen Hinweis bekommen hast)

                Struppi.

              2. Mahlzeit Boubou,

                Nein mein Ausbilder war es, um mir eine Lehre zu erteilen, damit ich sauber programmiere.

                Merkwürdiges Vorgehen. Hat er Dir wenigstens vorher die Grundlagen von Formularverarbeitung und Validitätsprüfung von Parametern vermittelt?

                Jetzt soll ich herausfinden wie ich das wieder rausbekomme. Da ich aber gerade am Anfang meiner Ausbildung bin hab ich keine ahnung.

                Naja, dafür wirst Du sicher diese Ausbildung machen, oder? :-) Was sagen Deine Lehrmaterialien zu den o.g. Themen?

                Ich soll es auf jeden fall selber herausfinden.Daher frag ich euch nach Rat.

                Ich denke, Du sollst es selbst herausfinden? ;-)

                MfG,
                EKKi

                --
                sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            2. echo $begrüßung;

              Meine Input Felder haben Value = $_POST['variable']. Alle $_POST variablen haben jetzt als Inhalt <br /><b>botice<b> stehen. Das ist das Problem.
              Woher kommt denn dieser Inhalt? Du - und nur du - kennst das Skript, d.h. du musst diese Werte da rein geschrieben haben. wo ist also das Problem?

              Das wird kein Inhalt sein. Das sieht mir eher nach einer PHP-Fehlermeldung aus, die ausgegeben wird, weil auf ein nicht vorhandenes Element des $_POST-Arrays zugegriffen wird, ohne dessen Existenz vorher überprüft zu haben.

              echo "$verabschiedung $name";

          2. Mahlzeit Boubou,

            Meine Input Felder haben Value = $_POST['variable'].

            Das ist das erste Problem. Du solltest an dieser Stelle htmlspecialchars() verwenden ...

            Alle $_POST variablen haben jetzt als Inhalt <br /><b>botice<b> stehen. Das ist das Problem.

            Das ist das zweite Problem: warum steht in ihnen dieser IMHO sinnfreie Inhalt? Vermutlich wird er durch das aufrufende Formular übergeben - was steht dort? Warum steht das dort?

            Ich will diesen unerwünschten Inhalt irgendwie entfernen und gar nicht drin haben.

            Dann sorge dafür, dass das aufrufende Formular diesen Inhalt erst gar nicht übergibt.

            Wie kann ich ihn entfernen bzw. meine $_POST variablen wieder davon befreien?

            Es ist sinnvoller, die Ursachen für Deine Probleme zu beheben, als nachträglich an den Symptomen herumzufrickeln.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Hi,

    Wie kann ich die eingehackten Befehle los werden, mit strip_tags kann ich es sichern, aber wie bekomme ich die weg wenn schon die Felder gehackt sind?

    Die Felder sind ganz sicher nicht "gehackt" worden; aber vielleicht hast du jetzt eingegebene Inhalte dort stehen, wo du die Daten abspeicherst (Datenbank, Textdatei, ...?) - und die richten jetzt "Schaden" an, da dummerweise vergessen wurde, sie von Anfang an abzusichern. Dann bearbeite die gespeicherten Daten entsprechend, loesche oder "entschaerfe" sie.

    Und warum strip_tags i.a.R. bloedsinnig ist, findest du im Archiv begruendet. htmlspecialchars() ist normalerweise die bessere Wahl.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Hi!

      Und warum strip_tags i.a.R. bloedsinnig ist, findest du im Archiv begruendet. htmlspecialchars() ist normalerweise die bessere Wahl.

      Wenn man nunmal gaz doll unbedingt nicht will, dass User HTML-Tags eingeben, ist strip_tags() aber recht effektiv. :D

      --
      "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
            - T. Pratchett
      1. Moin!

        Und warum strip_tags i.a.R. bloedsinnig ist, findest du im Archiv begruendet. htmlspecialchars() ist normalerweise die bessere Wahl.

        Wenn man nunmal gaz doll unbedingt nicht will, dass User HTML-Tags eingeben, ist strip_tags() aber recht effektiv. :D

        Nein, nicht wirklich.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Nabend!

          Wenn man nunmal gaz doll unbedingt nicht will, dass User HTML-Tags eingeben, ist strip_tags() aber recht effektiv. :D

          Nein, nicht wirklich.

          Hm. Entweder ich wurde mal wieder 'ganz doll' Missverstanden oder ich versteh nicht, worauf Du hinauswillst.

          *kopfkratz*
          (Ich dachte ich haette mich darueber lustig gemacht, keine HTML-Tags zu wollen und im gleichen Atemzug erwaehnt, dass man, falls wirklich noetig, das damit eben doch machen kann)

          --
          "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                - T. Pratchett
          1. Moin,

            Wenn man nunmal gaz doll unbedingt nicht will, dass User HTML-Tags eingeben, ist strip_tags() aber recht effektiv. :D

            Nein, nicht wirklich.

            Hm. Entweder ich wurde mal wieder 'ganz doll' Missverstanden oder ich versteh nicht, worauf Du hinauswillst.

            Sven will wohl darauf hinaus, dass strip_tags() wegen dieser Warnung nicht effektiv für den "Verteidiger" ist. Du  hast es aus der Sicht der "Angreifers" betrachtet. Um Deine ironische Wendung mitzumachen, muss man erkennen, dass Du zunächst mit "man" die eine, zwei Kommas später dann die andere Sichtweise meinst. Da kann schon mal der beste Ironiedetektor nicht anschlagen :-)

            Grüße

            Swen

            1. Hi!

              Sven will wohl darauf hinaus, dass strip_tags() wegen dieser Warnung nicht effektiv für den "Verteidiger" ist. Du  hast es aus der Sicht der "Angreifers" betrachtet. Um Deine ironische Wendung mitzumachen, muss man erkennen, dass Du zunächst mit "man" die eine, zwei Kommas später dann die andere Sichtweise meinst. Da kann schon mal der beste Ironiedetektor nicht anschlagen :-)

              Tja. Scheiss Technik! Ich wollt wirklich sagen, dass man mit der Funktion alle Tags entfernen kann, wenn man es denn unbedingt moechte. Voellig abgeloest von Angiffs oder Verteidigungsszenarien. angenommen ich hab nen Text*:
              <h1>Wie man eine CPU installiert</h1>
              <p>
              Zuerst sollte man sich einen Strickpullover aus moeglichst viel <b>Kunstfasern</b> anziehen und waehrend man einen aufgeblasenen Ballon an seinem Pullover reibt mit <i>Socken aus Kunstfasern</i> ueber einen geeigneten Teppichboden schlurfen bis einem Die Haare zu Berge stehen.
              </p>

              Diese wunderbare Anleitung benoetigt man nun als Plaintext. Weil Niemand die Tags mitlesen will (erst recht nicht, wenn die <b> und <i> in sowas verwandelt wurden: <a href="irgendeine Zeilensprengende URL" class="highlight energic"></a>

              Also nimmt schnell mal strip_tags() und haut sich damit eventuell mehr weg als gewollt (in diesem Fall vielleicht gar nichtmal so tragisch). Aber schliesslich hat man ja schon vorher dafuer gesorgt, dass die HTML-Tags korrekt und anzuzeigende Tags kodiert sind. (Extraspielereien hierzu beschreibe ich aus purer Unlust mal nicht weiter - Ich gehe davon aus: Ihr wisst, was ich mein.)

              Und all diese Information (und ein wenig mehr) in einem lustigen kleinen Satz! Natuerlich habe ich eine explizite Packungsbeilage vergessen, genauso wie darauf hinzuweisen zu Risiken und Nebenwirkungen eben jene zu lesen oder hier zu fragen... Ja und? Ich hab mir grad nen Prozessor und nen Kuehler ohne Waermeleitpaste bestellt. Kann ein Mensch an alles denken? Das kann nichtmal Cheatah! Okay... Sven vielleicht.

              *liebe Kinder: NICHT NACHMACHEN!

              --
              "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                    - T. Pratchett