mikethet: String validieren notwendig?

Hallo Leute,

bin gerade bei meiner HP-beim Übertragen der Daten an den Server-beim Thema Sicherheit. Das einzige, was der User eingeben kann ist ein Name, welcher auf 20 Zeichen begrenz ist. (nicht durch php, sondern durch die Tabelle selbst in mysql auf 20 Zeichen begrenzt)

Habe jetzt ein bisschen etwas bezüglich XSS und mysql-injection gelesen.

Aber zB. bei XSS kann man mit einem Textfeld, welches auf 20 Zeichen begrenzt, doch nicht wirklich einen schadhaften Javascript-Code einschleusen. Liege ich da richtig?

Weniger auskennen tu ich mich bei den mysql-injection. Gibt es da eine Möglichkeit, bei nur 20 Zeichen einen Schadhaften Code einzufügen?

LG Mike

  1. Tach!

    Aber zB. bei XSS kann man mit einem Textfeld, welches auf 20 Zeichen begrenzt, doch nicht wirklich einen schadhaften Javascript-Code einschleusen. Liege ich da richtig?

    Du musst nicht unbedingt kennen, was alles geht, sondern besser wie man generell alles unerwünschte vermeidet. Kontextwechsel ist das Stichwort.

    Weniger auskennen tu ich mich bei den mysql-injection. Gibt es da eine Möglichkeit, bei nur 20 Zeichen einen Schadhaften Code einzufügen?

    Erst die Tabelle begrenzt auf 20 Zeichen. Das SQL-Statement dazu kann und wird länger sein und dort passiert die SQL-Injection. Auch wirkt die Begrenzung nicht, wenn du mit einem Affenformular die Eingabe solange wiederholen lässt, bis alles stimmt. Hier ist HTML/CSS/JS XSS-empfindlich.

    dedlfix.

    1. Tach!

      Hallo,

      ist es möglich, die komplette Validierung auch mit JavaScipt durchzuführen?
      Da bin ich nämlich besser unterwegs :)

      LG Mike

      1. Tach!

        ist es möglich, die komplette Validierung auch mit JavaScipt durchzuführen?

        Nein. Du hast keine Kontrolle darüber, was der Client dir sendet und ob das durch deinen Javascript-Code gegangen ist oder nicht.

        dedlfix.

        1. Nein. Du hast keine Kontrolle darüber, was der Client dir sendet und ob das durch deinen Javascript-Code gegangen ist oder nicht.

          Hi, danke für deine schnelle Antwort.

          Das verstehe ich aber nicht. Immerhin, kann ich doch beim Klicken des Buttons Submit, zuvor den Inhalt im Input-Feld kontrollieren. Ist diese korrekt, darf das PHP-Script starten, ansonsten eben nicht.

          LG

          1. Hi,

            Nein. Du hast keine Kontrolle darüber, was der Client dir sendet und ob das durch deinen Javascript-Code gegangen ist oder nicht.
            Das verstehe ich aber nicht. Immerhin, kann ich doch beim Klicken des Buttons Submit, zuvor den Inhalt im Input-Feld kontrollieren. Ist diese korrekt, darf das PHP-Script starten, ansonsten eben nicht.

            Der HTTP-Request, den dein PHP-Skript erhält, muss nicht notwendigerweise von einem Browser kommen. Mit PHP selber kannst du ja z.B. einen HTTP-Client bauen, welcher dein Skript anspricht, aber beliebige Werte übermittelt, welche nie in die Nähe von JavaScript gelangt sind.

            Bis die Tage,
            Matti

            1. Der HTTP-Request, den dein PHP-Skript erhält, muss nicht notwendigerweise von einem Browser kommen. Mit PHP selber kannst du ja z.B. einen HTTP-Client bauen, welcher dein Skript anspricht, aber beliebige Werte übermittelt, welche nie in die Nähe von JavaScript gelangt sind.

              Danke für die sehr hilfreiche Antwort.

              LG Mike

  2. Validieren (= auf Gültigkeit prüfen) brauchst du das nicht.
    Es reicht wenn der String so umgewandelt wird dass er nichts schlimmes anstellen kann.

    Gibt es da eine Möglichkeit, bei nur 20 Zeichen einen Schadhaften Code einzufügen?

    Vielleicht nicht schadhaften, aber unsinnigen der zu einem Fehler führt. Dazu reicht ein einziges Zeichen.