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

    服務器請求偽造漏洞的預防措施有哪些


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

    服務器請求偽造漏洞的預防措施如下:

    • 驗證 HTTP Referer:在 HTTP 協議的請求頭部含有一個字段叫 Referer,它記錄了本次請求的來源地址。只需校驗Referer是否以本域作為來源,則可以判斷這個請求的真偽。這種方式的優點在于簡單易用,開發人員只需用在敏感操作前增加一個攔截器檢查Referer的值即可。對于已有的系統,不需要改動內部的邏 輯,比較方便。但這種方法并不是百分百有效。每個瀏覽器對HTTP協議的實現有一些差別,目前已經發現,IE6的瀏覽器Referer的值是可以被篡改。 對于新版瀏覽器,雖然無法纂改Referer值,但部分用戶基于隱式權的需要,可以設置瀏覽器發送的請求不包含Referer信息。這些用戶在訪問時會被 誤認為偽造的請求,從而拒絕了合法用戶的訪問。

    • 加密cookie信息:在敏感操作的提交內容中,添加一個對cookie進行Hash后的值,服務器端對Hash值進行校驗,若通過則是合法的用戶請求。 因為在直接的跨站請求偽造攻擊中,黑客其實是無法獲取cookie的具體內容,因此也無法構造一個Hash后的cookie值,從而基本杜絕了跨站請求攻 擊的實施。但是這種方法還有一種可能的泄露情況。如果黑客先通過XSS攻擊盜取了用戶的cookie,然后再利用盜取的cookie生成Hash值而制作 偽造請求。這種情況的攻擊實現比較繁瑣復雜,涉及到XSS和CSRF兩種攻擊的結合使用。

    • 使用令牌:添加一個隱藏表單域記錄隨機的令牌,在求的參數中包含該令牌。服務器端執行操作前驗證這個令牌,如果請求中沒有令牌或者內容不正確,則認為可能 是偽造請求攻擊而拒絕該請求。這種方法也可以完全解決請求偽造的問題。但在一個網站中,需要防范的地方非常多,要求每一個請求都加上令牌會增加了開發人員 的工作量,而且還很容易遺漏。

    • 在 HTTP 頭中自定義屬性:為了解決上一個方法設置Token比較麻煩的問題,可以將令牌放到 HTTP 頭中自定義的屬性里。利用XMLHttpRequest這個對象,一次性為所有敏感操作在請求頭增加一個新的屬性,該屬性的值則是一個令牌。這種添加令牌 的方式比上一種方法簡單。而且,通過 XMLHttpRequest請求的地址不會被記錄到瀏覽器的訪問歷史,不用擔心令牌會透過Referer被竊取。這種其實是使用Ajax方法在頁面局部 的異步刷新的操作,令牌在前進,后退,收藏等行為中將失效,而且如果是遺留系統,添加Ajax請求的方法等同重新設計整個系統,代價過高。

    • 添加驗證過程:如讓用戶去進行確認,注意確認流程應由頁面接收后在前臺進行顯示。

    • 添加驗證碼:利用驗證碼來確認是否為當前用戶發起的請求。

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

    1年前 / 評論
    亚洲 欧美 自拍 唯美 另类