php 安全基礎 第七章 驗證與授權

2022-09-05 08:57:09 字數 695 閱讀 5372

很多web應用被其糟糕的身份驗證與授權機制所困擾。本章主要討論相關這些機制的漏洞,傳授一些幫助你不犯通病的方法。我將通過一些例子進一步說明這些方法,但請注意不要把這些示例與其上下文割裂開來看,理解其中包含的原則和方法是很重要的。只有到那個時候你才能對它們進行正確運用。

通過驗證我們可以確定乙個使用者的身份。典型的做法是簡單地使用使用者名稱和密碼進行檢查。這樣我們就能確定登入使用者是乙個授權使用者。

身份驗證,常被稱為訪問控制,是一種你能用來保護對受限資源的訪問及確認乙個使用者是否有權訪問特定資源的方法。例如,很多web應用會有只對授權使用者開放的資源、只對系統管理員開放的資源以及對所有使用者開放的資源。

產生訪問控制漏洞的乙個主要原因是粗心大意——在web應用中這一部分程式是最少被關心和注意的。在開發中管理功能和訪問控制常常是最後考慮的,而且一般是從授權使用者的出發點去考慮和編寫,並沒有考慮攻擊者可能會使用的手段。對授權使用者的信任遠遠高過匿名使用者,但是如果你的管理功能是能通過url直接公開訪問的話,就會成為攻擊者鍾愛的目標。疏忽是你首要的大敵。

為達到安全的目的,需要在設計時就綜合考慮訪問控制。它不應只是乙個現有應用的門閂,儘管有時可能是這樣的,但該流程是非常容易發生錯誤的,同時訪問控制中的錯誤必然導致安全漏洞。

訪問控制還需要乙個可靠的識別機制。畢竟,如果乙個攻擊者能偽裝成乙個合法使用者,所有的基於使用者識別的訪問控制是無效的。因此,你要考慮到攻擊的情況,例如會話劫持。關於會話相關的攻擊手段請參見第四章。

php 安全基礎 第七章 驗證與授權 暴力攻擊

7.1.暴力攻擊 暴力攻擊是一種不使用任何特殊手段而去窮盡各種可能性的攻擊方式。它的更正式的叫法是窮舉攻擊 窮舉各種可能性的攻擊。對於訪問控制,典型的暴力攻擊表現為攻擊者通過大量的嘗試去試圖登入系統。在多數情況下,使用者名稱是已知的,而只需要猜測密碼。儘管暴力攻擊沒有技巧性可言,但詞典攻擊似乎有一定...

第七章 網路安全設計

第七章 網路安全設計 1.網路安全體系結構?結合分層模型,每一層結構 協議 威脅 三維圖 安全機制 設計原則 之間的關係 安全模型是什麼 設計原則 iatf 資訊保障技術框架 標準強調人 技術和操作三個核心原則,iatf模型最重要的設計思想是在網路中進行不同等級的區域劃分與網路邊界保護。安全模型 在...

第七章 巨集與列舉

規則7 1 1 用巨集定義表示式時,要使用完備的括號。說明 m為巨集只是簡單的 替換,不會像函式一樣先將引數計算後,再傳遞。示例 如下定義的巨集都存在一定的風險。反例 若有除法運算,c a b計算錯誤 define rectangle area a,b a b a 1 b 1計算錯誤 define ...