<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    寬字節注入為什么產生


    發現錯別字 6個月前 提問
    回答
    1
    瀏覽
    181
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    等保高級測評師 NISP

    產生寬字節注入的主要原因是是源于程序員設置數據庫編碼與PHP編碼設置為不同的兩個編碼格式從而導致產生寬字節注入,寬字節注入是利用mysql的一個特性,mysql在使用GBK編碼(GBK就是常說的寬字節之一,實際上只有兩字節)的時候,會認為兩個字符是一個漢字,導致編碼轉換出現問題從而出現注入。簡單來說就是數據庫使用了寬字符集,而程序員在編寫web頁面時沒有考慮到這個問題。

    sql注入防范措施有以下這些:

    • 把應用服務器的數據庫權限降至最低,盡可能地減少 SQL 注入攻擊帶來的危害。

    • 避免網站打印出SQL錯誤信息,比如類型錯誤、字段不匹配等,把代碼里的SQL語句暴露出來,以防止攻擊者利用這些錯誤信息進行SQL注入。

    • 對進入數據庫的特殊字符(’’尖括號&*;等)進行轉義處理,或編碼轉換。

    • 所有的查詢語句建議使用數據庫提供的參數化查詢接口,參數化的語句使用參數而不是將用戶輸入變量嵌入到SQL語句中,即不要直接拼接SQL語句。

    • 在測試階段,建議使用專門的 SQL 注入檢測工具進行檢測。網上有很多這方面的開源工具,例如sqlmap、SQLninja等。

    • 善用數據庫操作庫,有些庫包可能已經做好了相關的防護,我們只需閱讀其文檔,看是否支持相應的功能即可。

    回答所涉及的環境:聯想天逸510S、Windows 10。

    6個月前 / 評論
    亚洲 欧美 自拍 唯美 另类