2016-11-15 98 views

回答

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

任何類型的應用程序,包括Windows桌面應用程序,都可以通過SQL注入。問題是如何在SQL查詢/ proc中處理用戶輸入,而不是應用程序類型。

如果您可以直接訪問數據庫,最好的方法是使用數據庫監視工具,如SQL Server Profiler。您可以通過本質上SQL注入您的應用程序並觀察Profiler中生成的查詢以及數據庫結果來嘗試「滲透測試」。