機房收費系統之SQL注入問題

來源:互聯網
上載者:User

         做學生資訊管理系統的時候,很多同學就已經提到這個問題了。但是沒有去深究,後來鐵道部購票網出了SQL注入的問題,據說這個問題屬於菜鳥級。然後驗收的時候,師父跟我說了說SQL注入的問題,於是才有了這篇別人早寫過很久的文章。

        首先說說什麼是SQL注入。SQL 注入是一種攻擊方式,在這種攻擊方式中,惡意代碼被插入到字串中,然後將該字串傳遞到 SQL Server 的執行個體以進行分析和執行。任何構成 SQL 陳述式的過程都應進行注入漏洞檢查,因為 SQL Server 將執行其接收到的所有文法有效查詢。一個有經驗的、堅定的攻擊者甚至可以巨集指令引數化資料。簡單的說就是:攻擊者可以通過SQL注入來非法操作你的資料庫。只要注入的 SQL 代碼文法正確,便無法採用編程方式來檢測篡改。因此,必須驗證所有使用者輸入,並仔細檢查在您所用的伺服器中執行構造
SQL 命令的代碼。下面是上網查詢的如何防止SQL注入的一些資料,做個總結。

       防止SQL注入:

       1)驗證所有輸入:始終通過測試類型、長度、格式和範圍來驗證使用者輸入。

                                          對應用程式接收的資料不做任何有關大小、類型或內容的假設。

                                          測試輸入的大小和資料類型,強制執行適當的限制。這有助於防止有意造成的緩衝區溢位。

                                         測試字串變數的內容,只接受所需的值。拒絕包含位元據、逸出序列和注釋字元的輸入內容。這有助於防止指令碼注入,防止某些緩衝區溢位攻擊。

                                         使用 XML 文檔時,根據資料的架構對輸入的所有資料進行驗證。

                                         絕不直接使用使用者輸入內容來產生 Transact-SQL 陳述式。

                                        使用預存程序來驗證使用者輸入。

                                        在多層環境中,所有資料都應該在驗證之後才允許進入可信地區。未通過驗證過程的資料應被拒絕,並向前一層返回一個錯誤。

                                        實現多層驗證。對無目的的惡意使用者採取的預防措施對堅定的攻擊者可能無效。更好的做法是在使用者介面和所有跨信任邊界的後續點上驗證輸入。

                                        絕不串聯未驗證的使用者輸入。字串串聯是指令碼注入的主要輸入焦點。
                                        如果可能,拒絕包含以下字元的輸入:“;”、“'”、“xp_”

     2)在預存程序中使用參數化輸入:如果使用預存程序,則應使用參數作為預存程序的輸入。

     3)在動態 SQL 中使用參數集合

      4)使用 QUOTENAME() 和 REPLACE() 封裝參數

       以上內容有些目前還不懂,比如預存程序之類,目前在資料庫部分中還沒有使用過。所以,這些需要等段時間在來學習。

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.