1. 程式人生 > >三、ADO.Net基礎【05】SQL註入漏洞(SQLInjection)

三、ADO.Net基礎【05】SQL註入漏洞(SQLInjection)

字符串 大於 拼接 匹配 常用 ado 執行 註入漏洞 基礎

使用字符串拼接的方式把sql語句所需參數拼接到將要執行的sql語句中(參數一般只sql語句的過濾條件),對於用戶的惡意輸入可能導致不一的查詢結果

例如:一個登錄的例子(UserName和Password是用戶的輸入的用戶名和密碼)。

“select count(*) from T_Users where UserName=’ ”+UserName+” ‘ and Password= ‘ ”+Password+” ‘ ”;

C#這段代碼指C#將要 發送給數據庫執行的代碼。如果count(*)的結果大於等於1則表示用戶的用戶名和密碼是存在並且匹配的。對於正常用戶的輸入這個中方法是可行的,但是如果用戶的密碼輸入:a‘ or ‘a‘=‘a 那麽無論用戶的用戶名和密碼是否存在是否匹配他都會登錄成功。這就是sql註入漏洞。

三、ADO.Net基礎【05】SQL註入漏洞(SQLInjection)