所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令,比如先前的很多影視**洩露vip會員密碼大多就是通過web表單遞交查詢字元暴出的,這類表單特別容易受到sql注入式攻擊.
sql注入
當應用程式使用輸入內容來構造動態sql語句以訪問資料庫時,會發生sql注入攻擊。如果**使用儲存過程,而這些儲存過程作為包含未篩選的使用者輸入的 字串來傳遞,也會發生sql注入。sql注入可能導致攻擊者使用應用程式登陸在資料庫中執行命令。如果應用程式使用特權過高的帳戶連線到資料庫,這種問 題會變得很嚴重。在某些表單中,使用者輸入的內容直接用來構造動態sql命令,或者作為儲存過程的輸入引數,這些表單特別容易受到sql注入的攻擊。而許多 **程式在編寫時,沒有對使用者輸入的合法性進行判斷或者程式中本身的變數處理不當,使應用程式存在安全隱患。這樣,使用者就可以提交一段資料庫查詢的**, 根據程式返回的結果,獲得一些敏感的資訊或者控制整個伺服器,於是sql注入就發生了。
歸納一下,主要有以下幾點:
1.永遠不要信任使用者的輸入。對使用者的輸入進行校驗,可以通過正規表示式,或限制長度;對單引號和
雙"-"進行轉換等。
2.永遠不要使用動態拼裝sql,可以使用引數化的sql或者直接使用儲存過程進行資料查詢訪問。
3.永遠不要使用管理員許可權的資料庫連線,為每個應用使用單獨的許可權有限的資料庫連線。
4.不要把機密資訊直接存放,加密或者hash掉密碼和敏感的資訊。
5.應用的異常資訊應該給出盡可能少的提示,最好使用自定義的錯誤資訊對原始錯誤資訊進行包裝
6.sql注入的檢測方法一般採取輔助軟體或**平台來檢測,軟體一般採用sql注入檢測工具jsky,**平台就有億思**安全平台檢測工具。
防止SQL注入式攻擊
防止sql注入式攻擊 sql注入式攻擊是指利用設計上的漏洞攻擊系統。如果動態生成sql語句時沒有對使用者輸入的資料 進行過濾,便會使sql注入式攻擊得逞。例如用下面的sql語句判斷使用者名稱和密碼 txtsql select from user info where userid txtuserid...
防止 PHP的SQL 注入攻擊
如何防止 php sql 注入攻擊?我認為最重要的一點,就是要對資料型別進行檢查和轉義。總結的幾點規則如下 1.php.ini 中的 display errors 選項,應該設為 display errors off。這樣 php 指令碼出錯之後,不會在 web 頁面輸出錯誤,以免讓攻擊者分析出有作...
如何防止SQL注入式攻擊?
所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通過一下的例子更形象的了解sql注入 有乙個login畫面,在這個login畫面上有兩個文字框分別用來輸入使用者名稱和密碼,當使用者點了登入按鈕的時候,會對輸入的使用者...