We have an ASP website that connects to a SQL Server 2005 DB. We use a dedicated user login in the connection string that has restricted rights on the DB (db_datareader and db_denydatawriter rights; furthermore, I've denied SELECT access to all of the system tables (sysobjects) for this user). Yet, on Friday, we fell victim to a SQL injection where the malicious querystring included "SELECT a.name,b.name FROM sysobjects a,syscolumns b WHERE...". How could this happen using the restricted DB connection for the page?