Wer selber Software schreibt, insbesondere ASP-Projekte, der weiß ein Liedchen davon zu singen, dass man sich gegen SQL-Injection wappnen muss. Eigentlich ist das gar nicht schwierig, man darf halt nichts was vom Benutzer oder über Schnittstellen kommt einfach so an die DB weiterreichen. Schlimm ist es beispielsweise, wenn man SQL-Befehle dynamisch zusammensetzt. Dann muss man den Input filtern (z.B. mache aus einem einfachen Anführungszeichen zwei). Alternativ kann man auch mit gebundenen Parametern arbeiten, was sich übrigens auch positiv auf die Performance auswirkt.
Wer sichergehen will, dass diese Probleme in der eigenen ASP-Lösung nicht drin sind, dem bietet Microsoft nun als Unterstützung das Security Advisory 954462 mit dem Titel "Rise in SQL Injection Attacks Exploiting Unverified User Data Input". darin wird auch auf ein neues MS-Tool verwiesen, den "Microsoft Source Code Analyzer for SQL Injection". Mit dem Tool werden ASP.NET-Anwendungen automatisiert untersucht. Das finde ich echt gut.
Eine ganz gute Erklärung wie SQL-Injection funktioniert steht bei Heise.de.