linux web安全之sql注入 預習階段

2022-02-15 06:20:10 字數 3335 閱讀 8190

1、基本術語的認識【第一階段先了解基本的術語,第二階段去熟悉理論】

授權和認證:

microsoft sharepoint foundation 支援**、列表、列表資料夾或庫資料夾以及項級別上的使用者訪問安全性。所有級別上的安全管理均基於角色,這樣可為跨 sharepoint foundation 平台的統一安全管理提供基於角色的一致使用者介面和物件模型,從而為物件分配許可權。因此,列表級別、資料夾級別或項級別的安全性可實現與**級別安全性相同的使用者模型,從而能夠通過**更方便地管理使用者許可權和組許可權。sharepoint foundation 還支援對包含在列表和文件庫中的資料夾和項的唯一許可權。

授權是指 sharepoint foundation 通過確定哪些使用者可以對給定物件執行特定操作,來為**、列表、資料夾或項提供安全性的過程。授權過程假定使用者已經過身份驗證,它是指 sharepoint foundation 以其為依據標識當前使用者的過程。sharepoint foundation 未實現自己的系統來進行身份驗證或身份管理,而是僅依賴外部系統(windows 身份驗證或非 windows 身份驗證)。

sharepoint foundation 支援以下型別的身份驗證

http——digest認證:

摘要認證 digest authentication   ← http1.1提出的基本認證的替代方法

伺服器端以nonce進行質詢,客戶端以使用者名稱,密碼,nonce,http方法,請求的uri等資訊為基礎產生的response資訊進行認證的方式。

※ 不包含密碼的明文傳遞

摘要認證步驟:

1. 客戶端訪問乙個受http摘要認證保護的資源。

2. 伺服器返回401狀態以及nonce等資訊,要求客戶端進行認證。

3. 客戶端將以使用者名稱,密碼,nonce值,http方法, 和被請求的uri為校驗值基礎而加密(預設為md5演算法)的摘要資訊返回給伺服器。

認證必須的五個情報:

・ realm : 響應中包含資訊

・ nonce : 響應中包含資訊

・ username : 使用者名稱

・ digest-uri : 請求的uri

・ response : 以上面四個資訊加上密碼資訊,使用md5演算法得出的字串。

authorization: digest 

username="mufasa",  ← 客戶端已知資訊

realm="[email protected]",   ← 伺服器端質詢響應資訊

nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",  ← 伺服器端質詢響應資訊

uri="/dir/index.html", ← 客戶端已知資訊

qop=auth,   ← 伺服器端質詢響應資訊

nc=00000001, ← 客戶端計算出的資訊

cnonce="0a4f113b", ← 客戶端計算出的客戶端nonce

response="6629fae49393a05397450978507c4ef1", ← 最終的摘要資訊 ha3

opaque="5ccc069c403ebaf9f0171e9517f40e41"  ← 伺服器端質詢響應資訊

4. 如果認證成功,則返回相應的資源。如果認證失敗,則仍返回401狀態,要求重新進行認證。

特記事項:

1. 避免將密碼作為明文在網路上傳遞,相對提高了http認證的安全性。

2. 當使用者為某個realm首次設定密碼時,伺服器儲存的是以使用者名稱,realm,密碼為基礎計算出的雜湊值(ha1),而非密碼本身。

3. 如果qop=auth-int,在計算ha2時,除了包括http方法,uri路徑外,還包括請求實體主體,從而防止put和post請求表示被人篡改。

4. 但是因為nonce本身可以被用來進行摘要認證,所以也無法確保認證後傳遞過來的資料的安全性。

※ nonce:隨機字串,每次返回401響應的時候都會返回乙個不同的nonce。 

※ nounce:隨機字串,每個請求都得到乙個不同的nounce。 

※ md5(message digest algorithm 5,資訊摘要演算法)

① 使用者名稱:realm:密碼 ⇒ ha1

② http方法:uri ⇒ ha2

③ ha1:nonce:nc:cnonce:qop:ha2 ⇒ ha3

◆ wsse(ws-security)認證  ← 擴充套件http認證

wsse usernametoken

伺服器端以nonce進行質詢,客戶端以使用者名稱,密碼,nonce,http方法,請求的uri等資訊為基礎產生的response資訊進行認證的方式。

※ 不包含密碼的明文傳遞

wsse認證步驟:

1. 客戶端訪問乙個受wsse認證保護的資源。

2. 伺服器返回401狀態,要求客戶端進行認證。

profile="usernametoken" ← 伺服器期望你用usernametoken規則生成回應

※ usernametoken規則:客戶端生成乙個nonce,然後根據該nonce,密碼和當前日時來算出雜湊值。

3. 客戶端將生成乙個nonce值,並以該nonce值,密碼,當前日時為基礎,算出雜湊值返回給伺服器。

authorization: wsse profile="usernametoken"

x-wsse:usernametoken

username="mufasa",

passworddigest="z2y......",

nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",

created="2010-01-01t09:00:00z"

4. 如果認證成功,則返回相應的資源。如果認證失敗,則仍返回401狀態,要求重新進行認證。

特記事項:

1. 避免將密碼作為明文在網路上傳遞。

2. 不需要在伺服器端作設定。

3. 伺服器端必須儲存密碼本身,否則無法進行身份驗證。

2、實戰介紹

WEB 安全之 SQL注入《一》 盲注

sql注入是乙個比較 古老 的話題,雖然現在存在這種漏洞的站點比較少了,我們還是有必要了解一下它的危害,及其常用的手段,知己知彼方能百戰不殆。進攻與防守相當於矛和盾的關係,我們如果能清楚了解 攻擊的全過程,就可以更好的預防類似情況的出現。sql注入原理主要是攻擊者,利用被攻擊頁面的一些漏洞 通常都是...

WEB 安全之 SQL注入《一》 盲注

sql注入原理主要是攻擊者,利用被攻擊頁面的一些漏洞 通常都是程式設計師粗心大意造成的 改變資料庫執行的sql語句,從而達到獲取 非授權資訊 的目的。下面自己搭建了實驗環境用於測試。首先交待一下,測試環境 開發語言為 asp.net 資料庫使用的 msql 測試頁面模擬了普通的新聞頁面,url裡接受...

sql盲注特點 SQL盲注

盲注原理 盲注的分類 盲注常用函式 一 sql盲注概述 1.如果資料庫執行返回結果時只反饋對錯不會返回資料庫中的資訊 此時可以採用邏輯判斷是否正確的盲注來獲取資訊。2.盲注是不能通過直接顯示的途徑來獲取資料庫資料的方法。在盲注中,攻擊者根據其返回頁面的不同來判斷資訊 可能是頁面內容的不同,也可以是響...