sql注入原理及解決方案


sql注入原理

sql注入原理就是用戶輸入動態的構造了意外sql語句,造成了意外結果,是攻擊者有機可乘

 

SQL注入攻擊指的是通過構建特殊的輸入作為參數傳入Web應用程序,而這些輸入大都是SQL語法里的一些組合,通過執行SQL語句進而執行攻擊者所要的操作,其主要原因是程序沒有細致地過濾用戶輸入的數據,致使非法數據侵入系統。

根據相關技術原理,SQL注入可以分為平台層注入和代碼層注入。前者由不安全的數據庫配置或數據庫平台的漏洞所致;后者主要是由於程序員對輸入未進行細致地過濾,從而執行了非法的數據查詢。基於此,SQL注入的產生原因通常表現在以下幾方面:①不當的類型處理;②不安全的數據庫配置;③不合理的查詢集處理;④不當的錯誤處理;⑤轉義字符處理不合適;⑥多個提交處理不當。

 

sql注入危害

  • 數據庫信息泄漏:數據庫中存放的用戶的隱私信息的泄露。
  • 網頁篡改:通過操作數據庫對特定網頁進行篡改。
  • 網站被掛馬,傳播惡意軟件:修改數據庫一些字段的值,嵌入網馬鏈接,進行掛馬攻擊。
  • 數據庫被惡意操作:數據庫服務器被攻擊,數據庫的系統管理員帳戶被竄改。
  • 服務器被遠程控制,被安裝后門。經由數據庫服務器提供的操作系統支持,讓黑客得以修改或控制操作系統。
  • 破壞硬盤數據,癱瘓全系統。

 

sql注入解決方案

1.參數驗證

2.特殊字符過濾

3.使用參數化語句,不要拼接sql

4.編碼輸出

5.平台過濾

總之就是要做好過濾與編碼並使用參數化語句,這樣sql注入漏洞基本能夠解決呢

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM