Code Injection ohne Datenbank?

November 23rd, 2006

SQL Injection sollte jedem Programmierer ein Begriff sein (was im Übrigen leider nicht so ist!). Um diese zu verhindern werden von Dritten übergebene Daten gequotet oder besser intensiv auf mögliche Angriffe untersucht. Nur werden fremde Daten nicht nur in eine Datenbank geschrieben, sondern auch anderweitig gespeichert und verarbeitet. Bryan Sullivan stellt in diesem Artikel zwei weitere Angriffsszenarien vor. Neu war mir hier die Möglichkeit von LDAP Injection. Weiter verbreitet dürften jedoch XML Anwendungen sein, die durch die Anfragesprache XQuery im Handumdrehen sensible Daten preisgeben.
Sullivan diskutiert kurz falsche Ansätze und geht dann auf den seiner Ansicht nach einzig entscheidenden ein:

The only real way to defend against all malicious code injection attacks is to validate every input from every user.

Er empfiehlt weiterhin nicht nur Blacklists, sondern vor allem eine Whitelist einzusetzen. Dadurch wird der große Angriffsraum eingeschränkt und zwar auch in Fällen die durch die Blacklist nicht abgedeckt sind. In dieser sollen im SQL Beispiel Wörter wie SELECT oder UPDATE stehen. Das Hakin9 Magazin hat jedoch in der Ausgabe 1/2006 Wege gezeigt, um SQL Kommandos zu codieren. Ich werde an dieser Stelle keine Beispiele geben! Dadurch erkennt der Filter Zeichenketten nicht mehr als Wort. In der Datenbank selbst werden diese jedoch korrekt interpretiert und ausgeführt!

Tags:

 

Entry Filed under: IT und Wissenschaft

Leave a Comment

Required

Required, hidden

Summe von 8 + 10 ?

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Meistgelesen

Aktuelle Posts