Announcement

Collapse
No announcement yet.

Prepared Statements

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Prepared Statements

    Hallo Liste,

    Im Artikel über SQL Injection wurde folgendes geschrieben:

    Ein wichtiger Hinweis: Stored Procedures sind nicht von sich aus vor SQL-Injection sicher. Werden sie auf herkömmliche Weise mit den Benutzereingaben aufgerufen, kann SQL-Code eingeschleust werden. Erst durch den parametrisierten Aufruf sind sie nach aktuellem Wissenstand vor SQL-Injection sicher.

    Soweit ich das PreparedStatement ( bei Oracle ) verstehe, wird das Statement geparst und die Werte sind mit Bind Values im Cache abgebildet, die dann beim Execute verwendet werden.

    Wie sieht es mit anderen Datenbanksysteme und jdbc Treiber aus? Wird bei allen Datenbanken der Weg über die Bind Variable gegangen und können alle Treiber damit umgehen? Ich meine hier: Gibt es Treiber die einem ein PreparedStatement vorgaukenl und intern nur ein ördinäres Statement verwenden?

    lg Dietmar

    ps. Ich hoffe hier einen erfolgreichen Anfang in diesem Forum gemacht zu haben.

  • #2
    Hallo Dietmar,

    Willkommen im Security-Forum!

    Es gibt Treiber, die statt eines Prepared Statement ein normales
    Statement verwenden. Und es gibt welche, die einen
    parametrisierten Aufruf vorgaukeln, obwohl sie die Daten direkt
    übergeben.

    Ich hatte mal einen Link zu einer ziemlich umfangreichen
    Tabelle, welche Datenbanken und Treiber das wie machen. Aber
    wie üblich: Wenn man eine Seite braucht, findet man sie nicht
    mehr. :-/
    Und Google hat mir leider nicht weiterhelfen können.

    Im OWASP-Guide 2.0 Beta vom 6. Juni steht auf Seite 145
    "The JDBC specification does NOT require a JDBC driver to
    properly escape special characters. Many commercial JDBC
    drivers will do this correctly, but some definitely do not. "
    Welche was tun steht da leider nicht. Und aus der aktuellen
    Version ist der Teil ganz rausgeflogen.

    Im Zweifelsfall hilft sowieso nur, beim eigenen System genau
    nachzusehen, wie die Stored Procedures bzw. Prepared
    Statements implementiert sind.

    Tut mir leid, daß ich im Moment nichts genaueres schreiben
    kann. Vielleicht finde ich die Seite ja noch wieder.

    MfG
    Carste

    Comment


    • #3
      Hallo Carsten,

      danke für die Info. Falls Du den Link wieder finden solltest, wäre es nett, wenn Du diesen hier posten könntest.

      lg Dietma

      Comment


      • #4
        Hallo Dietmar,
        klar, mache ich.

        Irgendwo muß die Seite ja zu finden sein wenn sie noch existiert.

        MfG
        Carste

        Comment

        Working...
        X