尽管成功的 SQL 注入攻击的影响因目标应用程序以及该应用程序处理用户提供的数据的方式而异,但 SQL 注入通常可用于执行以下类型的攻击:
● 身份验证绕过: 此攻击允许攻击者在不提供有效用户名和密码的情况下,可能具有管理权限登录到应用程序。
● 信息泄露: 此攻击允许攻击者直接或间接获取数据库中的敏感信息。
● 数据完整性受损: 这种攻击涉及数据库内容的更改。攻击者可以使用此攻击来破坏网页,或更可能将恶意内容插入到其他无害的网页中。 该技术已通过SANS Internet Storm Center 的SQL 注入大规模攻击中描述的攻击得到证明 。
● 数据可用性受损: 此攻击允许攻击者删除信息,意图造成损害或删除数据库中的日志或审核信息。
● 远程命令执行: 通过数据库执行命令可能会让攻击者破坏主机操作系统。这些攻击通常利用现有的预定义存储过程来执行主机操作系统命令。这种攻击最常见的形式是使用 Microsoft SQL Server 安装中常见的 xp_cmdshell 存储过程,或者利用在 Oracle 数据库上创建外部过程调用的功能。