Windows应用程序是否容易受SQL注入攻击

时间:2016-11-15 05:07:26

标签: sql windows sql-injection

我最近遇到了一个Windows应用程序,其中包含内联SQL脚本的做法非常糟糕。是否容易出现SQL注入?

如果是,是否有任何工具可以快速解决漏洞?

2 个答案:

答案 0 :(得分:4)

是的,Windows应用程序也容易受到SQL注入攻击 问题不在于应用程序的类型,但内联sql脚本也不是问题 问题是当sql是从硬编码字符串和用户输入字符串动态构建的时候。实际上,即使存储过程也可能容易受到SQL注入攻击。

以此简单程序为例:(警告:此代码不安全!)

CREATE PROCEDURE sp_sqlInj
(
    @UserInput varchar(300)
)
AS

    DECLARE @Sql varchar(max)
    SET @Sql = 'SELECT * FROM Table WHERE x = '+ @UserInput
    EXEC(@Sql)
GO

可以想象,这个过程对SQL注入攻击很开放。

答案 1 :(得分:1)

任何类型的应用程序,包括Windows桌面应用程序,都可以注入SQL。问题是如何在SQL查询/ proc中处理用户输入,而不是应用程序类型。

如果您可以直接访问数据库,最好使用数据库监控工具,例如SQL Server Profiler。您可以通过SQL注入您的应用程序并在Profiler中观察生成的查询以及数据库中的结果来尝试“渗透测试”。