<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>

    編碼階段預防 XSS 漏洞的措施有哪些


    發現錯別字 11個月前 提問
    回答
    1
    瀏覽
    172
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    信息安全等級高級測評師 CISP-PTE

    編碼階段預防XSS漏洞的措施有以下這些:

    • 將Cookie設置為HttpOnl:攻擊Web應用大多數是為了獲得合法用戶的Cookie信息,所以應該減少將大量的數據存儲在Cookie中,在任何可能的時候使用HttpOnly Cookie。HttpOnly Cookie是某些瀏覽器所支持的一種防御機制,應用程序能使用它來防止XSS攻擊。當一個Cookie以這種方式標記時,支持它的瀏覽器將阻止客戶端JavaScript直接訪問Cookie。雖然瀏覽器仍然會在請求的HTTP消息頭中提交這個Cookie,但它不會出現在document.cookie返回的字符串中。

    • 謹慎使用DOM操:基于DOM的XSS是利用DOM操作實現的針對客戶端的XSS注入,由于被處理的數據不在服務器控制范圍內,因此不能通過在服務器端部署防御策略來解決,這就要求開發人員要謹慎、合理地使用DOM操作,盡可能避免使用DOM進行客戶端重定向、文檔操作或調用本地數據等敏感操作,轉而將這些行為放到服務器端使用動態頁面的方式來實現。

    • 采用白名單對輸入數據進行驗證:例如在服務器端,如果UserName字段僅允許字母數字字符,且不區分大小寫,則使用以下正則表達式^[ a-zA-Z0-9]*$進行驗證。

    • 使用黑名單對輸入數據進行安全檢查或過濾:例如在服務器端,針對非法的HTML代碼包括單雙引號等,應編寫函數對其進行檢查或過濾。需要檢查或過濾的特殊字符至少包含以下字符’、”、<、>、空格鍵、TAB鍵、script、&、#、%、+、$、(、)、xss、expression等。

    • 采用開發框架自帶的標簽輸出方:禁止采用<%=pValue %>不安全的輸出方式,應該采用標簽形式輸出,例如<s:hidden name="id" value="%{secAppConf.id}" />,采用標簽方式輸出時,系統默認會自動對數據做HTML轉換。

    • 對輸出數據進行凈:應對輸出數據進行過濾和轉義,將敏感字符轉換為其對應的實體字符來清理HTML特殊字符。例如,將HTML標簽最關鍵的字符<、>、&編碼為&lt、&gt、&amp。

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

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