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

    越權訪問測試

    VSole2022-06-04 06:59:32

    0x01 等保測評項

    GBT 22239-2019《信息安全技術 網絡安全等級保護基本要求》中,8.1.4.2安全計算環境—訪問控制項中要求包括:

    a)應對登錄的用戶分配賬戶和權限;

    b)應重命名或刪除默認賬戶,修改默認賬戶的默認口令;

    c)應及時刪除或停用多余的、過期的賬戶,避免共享賬戶的存在;

    d)應授予管理用戶所需的最小權限,實現管理用戶的權限分離;

    e)應由授權主體配置訪問控制策略,訪問控制策略規定主體對客體的訪問規則;

    f)訪問控制的粒度應達到主體為用戶級或進程級,客體為文件、數據庫表級;

    g)應對重要主體和客體設置安全標記,并控制主體對有安全標記信息資源的訪問。

    越權訪問對應訪問控制項中要求e),所以安全控制點為訪問控制e


    GBT 28448-2019《信息安全技術 網絡安全等級保護測評要求》中,測評單元(L3-CES1-09)

    該測評單元包括以下要求:

    a)測評指標:應由授權主體配置訪問控制策略,訪問控制策略規定主體對客體的訪問規則。

    b)測評對象:終端和服務器等設備中的操作系統(包括宿主機和虛擬機操作系統)、網絡設備(包括虛擬網絡設備)、安全設備(包括虛擬安全設備)、移動終端、移動終端管理系統、移動終端管理客戶端、業務應用系統、數據庫管理系統、中間件和系統附案例軟件及系統設計文檔等。

    c)測評實施包括以下內容:

    1)應核查是否由授權主體(如管理用戶)負責配置訪問控制策略;

    2)應核查授權主體是否一句安全策略配置了主體對客體的訪問規則;

    3)應測試驗證用戶是否由可越權訪問情形。

    d)單元判定:如果1)~3)均為肯定,則符合本測評單元指標要求,否則不符合或部分符合本測評單元指標要求。

    越權訪問漏洞屬于測評單元(L3-CES1-09)中測評實施的第3項,故定測評單元為L3-CES1-09.3。


    0x02 測試內容

    測試系統是否存在特權等級升級到另一個特權等級或同等級其他賬戶的問題。


    0x03 漏洞原理

    原理

    越權訪問是Web應用程序中一種常見的漏洞,由于其存在范圍廣、危害大,被OWASP列為Web應用十大安全隱患的第二名。該漏洞是指應用程序在檢查授權時存在紕漏,使得攻擊者在獲得低權限賬戶后,利用一些方式繞過權限檢查,訪問或者操作其他用戶或者更高權限。


    越權漏洞的成因主要是因為開發人員在后臺使用了不合理的校驗規則。在對數據進行增、刪、改、查時對客戶端請求的數據過分相信而遺漏了權限的判定, 一旦權限驗證不充分,就易導致越權漏洞。這點與SQL注入漏洞、XSS等漏洞很相像,都是由開發人員對請求的數據沒有做到更全的防御導致的風險問題。


    一般越權漏洞容易出現在需要驗證當前身份的頁面,如用戶登錄、操作數據、提現、修改個人資料、發送私信、上傳圖片、上傳表單、下單、充值、找回密碼等處。當用戶對權限頁面內的信息進行這些操作時,后臺需要對當前用戶的權限進行校驗,看其是否具備操作的權限,從而給出響應,而如果校驗的規則過于簡單則容易出現越權漏洞。


    分類

    這類漏洞往往很難通過工具進行自動化檢測,屬于邏輯漏洞中的一種。越權漏洞一般分為水平越權垂直越權、交叉越權


    但從廣義上來講還包括一種“未授權漏洞”,這種漏洞類似于越權漏洞的垂直越權,攻擊者沒有獲取到登錄權限或未授權的情況下,不需要登錄即可通過輸入網站控制臺地址直接訪問進行操作,但此篇文章只講水平越權與垂直越權,后續會專門寫一篇未授權訪問漏洞文章。


    越權分類


    水平越權:

    又稱橫向越權,這是一種“基于數據的訪問控制”設計缺陷引起的漏洞。由于服務器端在接收到請求數據進行操作時沒有判斷數據的所屬人/所屬部門而導致的越權數據訪問漏洞,也就是相同權限的不同用戶之間可以互相訪問數據以及執行其他用戶的功能等


    水平越權


    垂直越權:

    又稱縱向越權,這是一種“基于URL的訪問控制”設計缺陷引起的漏洞,由于后臺應用沒有做權限控制,或僅僅在菜單、按鈕上做了權限控制,導致惡意用戶只要猜測其他管理頁面的URL或者敏感的參數信息,就可以訪問或控制其他角色擁有的數據或頁面,達到權限提升的目的。也就是低權限用戶可訪問高權限用戶的數據以及執行高權限用戶功能等


    垂直越權

    交叉越權:

    既可以水平越權又可以垂直越權。


    0x04 代碼示例

    以下代碼中第8行沒有對傳入的ID進行校驗,ID代表用戶,攻擊者直接傳入指定的ID就可以修改對應用戶的個人信息。


    // @Tags SysUser// @Summary 設置用戶信息// @Security ApiKeyAuth// @accept application/json// @Produce application/json// @Param data body system.SysUser true "ID, 用戶名, 昵稱, 頭像鏈接"http:// @Success 200 {string} string "{"success":true,"data":{},"msg":"設置成功"}"http:// @Router /user/setUserInfo [put]func (b *BaseApi) SetUserInfo(c *gin.Context) {  var user system.SysUser  _ = c.ShouldBindJSON(&user)  if err := utils.Verify(user, utils.IdVerify); err != nil {    response.FailWithMessage(err.Error(), c)    return  }  if err, ReqUser := userService.SetUserInfo(user); err != nil {    global.GVA_LOG.Error("設置失敗!", zap.Error(err))    response.FailWithMessage("設置失敗", c)  } else {    response.OkWithDetailed(gin.H{"userInfo": ReqUser}, "設置成功", c)  }}
    

    0x05 測試過程

    常用測試思路:

    • 密碼重置中如果有不需要輸入原密碼就能修改密碼時,在修改密碼處抓包,修改數據包中的用戶名或用戶ID等,測試是否能修改其他用戶的密碼;


    • 修改用戶資料時修改用戶ID,測試是否能修改其他用戶資料;


    • 查看訂單時,遍歷訂單ID ,測試能否查看其他用戶訂單;


    • 攻擊者越過中間校驗步驟直接進行后續操作,導致中間校驗等步驟失效,對于這樣的流程越過漏洞通常的測試思路是,首先完成正常的業務邏輯步驟,獲取每一個步驟的請求,再繞過中間步驟直接訪問最后一個或幾個的驗證請求,測試是否能成功訪問。流程越過在密碼修改、密碼重置、購買商品處出現的可能性較大,這些測試點可著重留意。


    • 當對一個有注冊功能或是存在身份認證的站點,可以申請兩個同級的賬戶進行水平越權測試。不過最好是讓客戶提供一個管理員用戶、兩個同級賬戶,完成水平越權、垂直越權測試。就可以替換賬號的token進行測試。分析每個參數的功能,盡可能的多去嘗試修改,比如,任意加減參數值或將false修改為true、success,看看會有什么變化,執行某一操作的時候刪除cookie、token后有什么變化。

    測試案例1


    在頁面上使用普通賬戶操作請求。登錄用戶A時,正常更改或者查看用戶A信息,抓取數據包,將傳參ID或其他參數修改為其他用戶,如果能成功查看或修改了同權限的其他用戶信息,就屬于水平越權,如果影響到的是高權限用戶,就是垂直越權。測試案例1通過身份信息偽造進行水平越權。


    1. test登錄成功后的請求包中card_id與響應包中card_id、頁面中“會員號:20128880322”一致,響應包返回test用戶的用戶名以及md5加密后的密碼。猜測card_id為身份控制參數,嘗試是否可以通過修改card_id獲取其他用戶的用戶名、密碼。



    1. 回到登錄頁面,頁面底部有其他用戶賬號頭像,響應包中列出這些頭像的文件名,按照順序馬春生的應該是第一個20128880316,這個編號與test用戶card_id相似,猜測是否就是馬春生的card_id。



    1. 將test登錄成功的請求包中的card_id值更改為20128880316,得到用戶名m233241和md5加密的密碼,將密碼解密后成功登錄馬春生賬號。


    還有種情況是身份控制參數直接出現在URL中,對此就可直接遍歷URL中的參數值獲取其他用戶的信息。



    修復:

    身份信息必須進行加密傳輸,要采取標準的加密方式進行加密,并保存好密碼,盡量不要使用base64編碼等非強加密算法,即使使用base64傳輸,也需要加入臟數據進行混淆,增加破解難度。


    測試案例2


    1. 登錄lili賬號可以查看到lili的個人信息,URL中出現username參數username=lili,猜測可能是通過此參數控制身份信息。



    1. 直接修改URL中username的值,改為lucy,成功查看到lucy個人信息,這是一個水平越權漏洞。



    出現此漏洞的原因是,源碼中沒有判斷用戶身份,需要添加一段判斷get請求是否來自lili(也就是當前登錄的用戶)的代碼,拒絕越權的嘗試。



    測試案例3


    1. 使用管理員登錄,管理員有創建用戶的權限,添加用戶,抓取添加用戶的數據包



    1. 發送至Repeater模塊,Go一下,順利創建新用戶。



    1. 退出admin用戶,再次提交添加用戶POST請求。再次登錄admin用戶,發現并沒有新用戶被創建。



    1. 登錄用戶pikachu,只有查看權限。



    1. 復制pikachu用戶的Cookie,與之前admin用戶登錄時添加用戶的POST請求中的cookie進行替換,更改username的值,再次發送數據包,試試能否創建用戶。再刷新網頁,能看到test123123已經添加成功。說明后臺沒有對當前登錄賬號的操作進行正確的權限認證,存在垂直越權漏洞。



    修復:

    在每個步驟的session都應該添加標識位,并將session與用戶的身份進行強綁定,并在新步驟顯示之前必須要檢測之前每一步的session標志位。

    關于密碼修改的地方還可以使用一次性填寫所有的校驗信息,例如原始密碼、新密碼等信息后再提交/重置密碼請求。


    0x06 檢測工具

    1. Authz插件:



    下載地址:https://github.com/portswigger/authz使用方法:https://gh0st.cn/archives/2019-06-27/1?hmsr=toutiao.io&utm_campaign=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
    


    平時做測試發現越權漏洞大多是基于修改ID的方式:將A用戶的ID改成B的ID,然后進行請求查看是否可以越權獲取到信息,或當ID的規律已知情況下基于Burp Intruder模塊直接去遍歷ID。

    基于Authz的檢測是不一樣的,它是將用戶認證的HTTP請求頭進行修改(Cookie之類的),然后通過響應長度、響應狀態碼判斷是否存在越權;

    從本質上來講沒有任何區別,只是換了一個角度,但這樣的好處是一定程度上的減少了測試的時間(例如:一個商城的業務系統,你有A、B賬戶,A賬戶買了個商品獲得一個訂單信息請求,當你想測試是否能越權獲取B賬戶訂單時就需要使用B賬戶去再購買,然后判斷測試。)


    優點:使用簡單、省時省力;

    缺點:只適用于檢測越權讀取類的操作,刪除編輯類操作還需要人工判斷。



    1. secscan-authcheck

    下載地址:https://github.com/ztosec/secscan-authcheck
    


    secscan-authcheck工具比較強大,安裝也比較麻煩,需要搭建自己的服務器,將工具安裝在服務器上,然后需要在瀏覽器安裝插件,將瀏覽器訪問流量導入自己的服務器上,使用該工具檢測是否有越權漏洞。



    0x07 風險分析

    用戶可以操作比自己高權限用戶操作范圍的數據(如管理員賬號),具體危害與對應業務的重要性相關。

    不同的用戶應該擁有不同的權限去做增刪改查等操作,惡意攻擊者可利用該漏洞去越權查看、修改其他用戶的敏感信息,對賬戶安全造成威脅


    0x08 加固建議

    越權漏洞的本質就是訪問到當前用戶本不該訪問的頁面、執行不該執行的操作,所以對用戶的權限驗證尤為重要。


    1. 完善安全架構、用戶權限體系。知道哪些數據對應哪些用戶,哪些數據不應該由哪些用戶操作;

    2. 鑒權,服務端對請求的數據和當前用戶身份做校驗;

    3. 不要直接使用對象的實名或關鍵字,例如訂單ID使用隨機數;

    4. 對于用戶訪問角色的權限進行嚴格的檢查及限制,前后端同時對用戶輸入信息進行校驗,雙重驗證機制;

    5. 在一些操作時可以使用session對用戶的身份進行判斷和控制;

    6. 調用功能前驗證用戶是否有權限調用相關功能;

    7. 執行關鍵操作前必須驗證用戶身份,驗證用戶是否具備操作數據的權限;

    8. 直接引用對象的加密資源ID,防止攻擊者枚舉ID,敏感數據特殊化處理;

    9. 永遠不要相信來自用戶的輸入,對于可控參數進行嚴格的檢查與過濾;

    1. 訂單號此類參數,以隨機方式生成,再進行算法加密,或者請求的數據包額外附帶一個參數,比如token,從而防止重放和遍歷訂單號這類攻擊;
    2. 前后端同時對用戶輸入信息進行校驗,雙重驗證機制;
    3. 做過濾器,對權限進行全局校驗(每次調用某個接口時,可先對權限進行校驗)第一步清洗URL地址,并提取API接口名稱,第二步從session中提取當前登錄用戶的userid,第三步,提取當前用戶的角色ID,第四步,判斷當前用戶對應的角色是否有權限訪問當前API接口(檢查垂直越權),最后判斷當前登錄用戶是否對目標對象有操作權限(檢查水平越權)。

    參考http://www.360doc.com/content/22/0309/08/77981587_1020713343.shtmlhttps://www.csdn.net/tags/MtTaEgysNDk1MTg1LWJsb2cO0O0O.htmlhttps://mp.weixin.qq.com/s/vwF7aTvk-U-SnJqO3f80gA
    
    訪問控制數據校驗
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    在大數據時代,不同企業或者部門間迫切需要進行數據共享。針對共享數據如何進行細粒 度控制、數據的追溯和機密性保護等問題,提出了基于區塊鏈的數據共享訪問控制模型。本模型首 先采用區塊鏈技術保證數據溯源和不可篡改;其次使用聯盟鏈的智能合約機制,進行粗粒度的訪問 控制,減少并過濾區塊鏈的惡意攻擊;最后基于改進的權重屬性基加密機制對數據進行細粒度的控 制與和機密性保護,并減少數據加解密時間開銷。通過安全性分
    數據所有者能夠根據授權用戶的屬性設置密文策略,在數據加密的同時保證授權的靈活性。針對量子計算的發展可能帶來的安全挑戰,基于格構造抗量子的方案可以有效提升安全性。此外,利用區塊鏈技術存儲數據信息,以應對非可信云服務的偽造、篡改數據等行為。最后,分析了方案的安全性與各方面性能,結果表明所提方案能夠適用于非可信的云存儲應用。
    天融信數據安全服務方案依據數據安全治理評估、數據安全組織架構建設、數據安全管理制度建設、數據安全技術保護體系建設、數據安全運營管控建設、數據安全監管“六步走”建設思路
    此類事件將會對公共衛生管理和醫院管理造成嚴重影響,損害醫療機構和患者個人的合法權益。究其原因,主要由醫療信息系統本身有別于其他關鍵行業信息系統的特殊性以及外部環境因素兩方面造成,包括以下五個方面。對此,一是要加強醫療信息系統自身的健壯性,提高抵御外部攻擊的基礎能力。
    口令只是一種驗證機制,并不具備密碼的機密性要求。在電子票據開具過程中,開票單位需通過安全可信的方式向財政部提交開票信息。
    防火墻指的是一個有軟件和硬件設備組合而成、在內部網和外部網之間、專用網與公共網之間的界面上構造的保護屏障。它可通過監測、限制、更改跨越防火墻的數據流,盡可能地對外部屏蔽網絡內部的信息、結構和運行狀況,以此來實現網絡的安全保護。
    可通過在控制臺開啟SSH服務進入Linux系統。關鍵字disabled可用于禁止給定類型的密碼,無論其長度如何。N2:用于密碼短語,除了滿足此長度要求之外,密碼短語還必須包含足夠數量的單詞。N3、N4用于由三個和四個字符類的字符組成的密碼。⑥ enforce=none|users|everyone可以使用該模塊配置警告僅限密碼,但實際上不強制使用強密碼。users代表除root賬戶。用disable_firstupper_lastdigit_check 禁止了這種識別。所以VMware ESXI 默認口令復雜度配置大致是這個規則。
    軍事數據是戰爭指揮決策的重要支撐。由于采集手段受限、共享交換渠道不暢、共享意識不強等因素,數據建設面臨數據積累不足、數據孤島、數據質量不高以及數據安全管控薄弱等問題與挑戰。通過在數據采集、共享交換、綜合處理、數據應用等數據全生命周期中,引入區塊鏈技術,建立了基于區塊鏈的軍事數據安全治理架構,設計了數據可信采報、數據安全共享交換、數據訪問控制數據行為存證等關鍵技術,并針對軍事數據安全治理提出了思考
    傳統IT網絡安全架構基于內網安全的假設,安全邊界一旦被突破,傳統網絡安全防護就可能失效,導致網絡系統受到嚴重破壞。為解決上述問題,設計了一種基于標識密碼的零信任安全方案。在防護網絡中,所有用戶和設備都被賦予唯一訪問標識,基于國產密碼體系搭建標識密鑰基礎設施,構建統一身份認證體系,對系統主體及客體實施身份認證和加密傳輸,同時利用策略管理系統對安全憑證進行持續信任評估,實現了零信任網關對訪問主體的動態
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类