![](https://seccdn.libravatar.org/avatar/03151f4121d5112d4c1bd48944fbd13a.jpg?s=120&d=mm&r=g)
Am 26.10.2012 11:39, schrieb Lentes, Bernd:
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.
Kurz und einfach erklärt: Du hast ein Feld "Name" und "e-Mail" in deiner Webanwendung. Per SQL speicherst du dann 'INSERT INTO user VALUES ("$name","$email");' Jetzt überlege mal, was rauskommt, wenn du bei Name statt 'Karl-Heinz' ein 'looser"); DROP TABLE user;' eingibst.
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 ?
Du kannst den Value ja so setzen, dass er das Ende des Statements bildet. Darauf zielt in der Regel auch das Abwehren von SQL-Injektions ab. Prüfe die Eingangswerte auf Plausibilität und escape Sonderzeichen und schon ist deine Anwendung relativ sicher. Gruß Uli -- 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