SQL Server上的SQL注入攻擊是什麼?我們怎樣才能防止呢?什麼是對SQL Server的SQL注入攻擊?我們如何防止它們?
回答
SQL注入是代碼注入技術,用來攻擊數據驅動的應用程序,其中惡意的SQL語句被插入到一個輸入字段以供執行(例如轉儲數據庫內容給攻擊者)。
http://en.wikipedia.org/wiki/SQL_injection
如何:防止SQL注入在ASP.NET
https://msdn.microsoft.com/en-us/library/ff648339.aspx
https://msdn.microsoft.com/en-us/magazine/cc163917.aspx
下面是一些提示:
永遠不要相信用戶的輸入。
始終使用參數化存儲過程。
總是對用戶輸入進行編碼/解碼。
請勿寫入內嵌查詢。
- 在客戶端和 服務器側
https://msdn.microsoft.com/en-us/library/hh882339%28v=vs.110%29.aspx
請將報價格式化爲報價,因此很明顯,內容是從列出的來源中提取的。 – Tanner 2015-03-03 09:53:02
在簡單的語言的特殊字符(<,>)始終驗證用戶輸入,SQLI或SQL注入攻擊是攻擊這使得應用程序將數據視爲命令。例如,假設您有使用下面的SQL語句的認證系統:
SELECT *
FROM userlist
WHERE name ='" + username + "';
現在,假設攻擊者進入下面的用戶名:
username = ' OR '1'='1
這將創建一個查詢,這將是這樣的:
SELECT *
FROM userlist
WHERE username=' ' OR '1'='1';
因此,由於OR條件始終評估爲true,所以繞過驗證作爲查詢的結果將始終返回有效的響應。 這是一個基本的SQLi攻擊。您可以將多個查詢組合,如:
DROP TABLE userlist;
和追加它原來的查詢以下列方式:
SELECT *
FROM userlist
WHERE username=' ' OR '1'='1';DROP TABLE userlist;
它將從數據庫中刪除名爲「用戶列表」表。
希望有幫助。
- 1. 什麼是「參數」,它們如何防止SQL注入?
- 2. 防止SQL注入和XSS攻擊
- 3. 嘗試執行SQL注入攻擊 - 他們在做什麼?
- 4. 防止MDX注入攻擊
- 5. 防止SQL注入攻擊:mySql和SQL Server 2008之間的區別
- 6. 如何防止AspNetUsers表SQL注入攻擊?
- 7. 如何防止URL盲sql注入攻擊
- 8. 使用存儲過程是否防止SQL注入/ XSXX攻擊?
- 9. SQL注入攻擊
- 10. SQL注入攻擊
- 11. 如何防止從UI中傳入SQL查詢時發生SQL注入攻擊
- 12. Spring JDBC是否提供對SQL注入攻擊的防護?
- 13. 如何防止二階SQL攻擊?
- 14. 什麼是NV32ts和它的SQL注入攻擊試圖做什麼?
- 15. React Native的Realm是否可以防止注入攻擊?我已經用於SQL
- 16. 如何清理SQL Server中的動態SQL - 防止SQL注入
- 17. str_replace的這種用法足以防止SQL注入攻擊嗎?
- 18. SQL Server 2008表值是否容易受到SQL注入攻擊?
- 19. 如何SQL注入工作,我怎麼防止它
- 20. 如何防止SQL注入?
- 21. 準備語句會防止SQL注入攻擊嗎?
- 22. pgdb防止注入攻擊嗎?
- 23. 防止命令行注入攻擊
- 24. SQL注入攻擊和django
- 25. Erlang和SQL注入攻擊
- 26. LINQ-To-SQL如何防止SQL注入?
- 27. SQL防止SQL注入
- 28. 防止SQL注入
- 29. 本機SQL查詢 - SQL注入攻擊
- 30. Linq到sql和sql注入攻擊
最好的主意就是谷歌它。 – 2015-03-03 09:51:55