![](https://seccdn.libravatar.org/avatar/d8110a8a8a97be0803549ea5ee2e638b.jpg?s=120&d=mm&r=g)
Am 26. Oktober 2012 11:39 schrieb Lentes, Bernd
wir haben eine Webanwendung mit einem Tomcat entwickelt, in die User Daten eintragen können. Ist ein wissenschaftliches Projekt. Um uns vor SQL Injection zu schützen, habe ich eine GreenSQL Instanz davor, die jeden Query/Insert... erst prüft und dann ggf. weiterleitet oder verwirft. GreenSQL hat eigene Regeln um SQL Injection zu erkennen und zu verwerfen. Ich habe da als Administrator keinen Einfluß drauf, kann lediglich die SQL Injection ganz zulassen oder verwerfen. Auch an die dazugehörigen Regeln komm ich nicht ran. Ich kann aber selbst noch zusätzliche Regeln erstellen.
Jetzt würde ich das mal gerne testen, sprich eine SQL Injection versuchen. Ich habe mich mal ein bißchen hiermit beschäftigt: http://de.wikipedia.org/wiki/SQL-Injection . Hier scheint das immer so zu sein, daß an das Ende der übergeben URL ein weiteres SQL-Statement angehangen wird. Ich weiß aber doch gar, wie das eigentliche statement aussieht. Ich sehe zwar die Reihenfolge der übergebenen Werte hinter dem "?" in der URL (mittels tcpdump ermittelt). Aber ob die vom Tomcat auch in dieser Reihenfolge zu einem statement zusammengebastelt werden, kann ich nicht erkennen. Und mein zusätzliches, "böses" Statement muß doch am Ende des "guten" Statements hängen. Oder bin ich irgendwie auf dem falschen Dampfer ?
Als Programmierer kann ich dazu nur sagen: Das einfachste Mittel gegen SQL-Injection sind Prepared Statements. Wenn man das nicht macht, sondern übergebene Parameter als Strings in Queries einbaut, macht man was falsch und braucht man sowas wie GreenSQL - und die Lösung muß halt erstmal viel lernen. Sprich: Frag die Entwickler dieser Anwendung. Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org