http網(wǎng)站中普通用戶賬號邏輯越權(quán)獲取管理員權(quán)限漏洞
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
想要挖掘一個(gè)漏洞我們首先就要知道這個(gè)漏洞是如何產(chǎn)生的。 1.漏洞產(chǎn)生原理 邏輯越權(quán)漏洞就是不同用戶之間操作權(quán)限的請求數(shù)據(jù)包沒有做驗(yàn)證或驗(yàn)證不完整,導(dǎo)致用戶A修改了身份驗(yàn)證的標(biāo)志后,就有了同權(quán)限或高權(quán)限的操作權(quán)限。 通常用戶訪問一個(gè)應(yīng)用的大致流程是:登陸—驗(yàn)證權(quán)限—數(shù)據(jù)庫查詢—數(shù)據(jù)返回,如果”驗(yàn)證權(quán)限”這個(gè)階段出現(xiàn)驗(yàn)證權(quán)限不足或沒有驗(yàn)證,那么就會導(dǎo)致越權(quán),用戶A可以操作其他用戶的內(nèi)容。 邏輯越權(quán)有兩種類型,垂直和水平越權(quán),可以理解為,在修改某個(gè)用作身份標(biāo)識的參數(shù)后,用戶A擁有了用戶B對于應(yīng)用的操作權(quán)限。 水平越權(quán)(同級別越權(quán)):也叫做訪問控制攻擊。web應(yīng)用程序在接受用戶發(fā)送過來的操作請求時(shí),沒有判斷這條請求的數(shù)據(jù)操作所屬人,攻擊者可修改某個(gè)ID之類的身份驗(yàn)證,從而使A用戶具有操作B賬號的權(quán)力。 垂直越權(quán)(跨級別越權(quán)):也叫做權(quán)限提升攻擊。使用低權(quán)限的賬號,發(fā)送高權(quán)限賬號才能有的請求,獲得其高權(quán)限的操作。 2.漏洞利用 水平越權(quán):修改對應(yīng)身份驗(yàn)證的參數(shù),如userid=1修改成userid=2來判斷是否存在水平越權(quán)漏洞 垂直越權(quán):獲取高權(quán)限賬號下的操作數(shù)據(jù)請求包,修改身份驗(yàn)證參數(shù)(cookie)等來判斷是否存在垂直越權(quán)漏洞。 如何獲取高權(quán)限賬號請求數(shù)據(jù)包: 1,高權(quán)限賬號直接代理抓取或普通權(quán)限賬號獲取(需要存在功能) 2,開源自行搭建,抓取數(shù)據(jù)包 3,根據(jù)普通賬號猜測 3.靶場案例講解——使用pikachu靶場 在這里給大家推薦:http://114.116.45.110/里面有各種靶場,不想自己搭建的小伙伴可以使用一下。 水平越權(quán) 點(diǎn)擊提示選擇lucy登錄,點(diǎn)擊查看個(gè)人信息 我們發(fā)現(xiàn),lucy的信息是通過username參數(shù)以get請求方式提交的,我們這時(shí)候就可以修改username參數(shù),修改成lili試試查看其信息,修改username參數(shù)的內(nèi)容直接返回了lili的個(gè)人信息 當(dāng)前是以用戶名為lucy登錄的,但我們通過修改username參數(shù)直接查詢到了lili的個(gè)人信息,而lili和lucy屬于同一級別用戶,所以存在水平越權(quán)漏洞。 垂直越權(quán) 點(diǎn)擊提示,用超級管理員登錄 添加用戶,并且使用Burp抓包 將抓到的包放入repeater中,放行包,發(fā)現(xiàn)生成了一個(gè)xiaoheizi用戶 退出登錄,使用普通用戶登錄,并使用Burp抓包獲取cookie值:ifs79568fb7t1inga7fl9dvfq2 進(jìn)入repeater中,將超級管理員的cookie,換成普通用戶的cookie,并send發(fā)送 刷新普通用戶界面,發(fā)現(xiàn)我們使用普通用戶添加了一個(gè)xiaoheizi用戶 區(qū)別:水平越權(quán)只能獲得同級別權(quán)限,垂直越權(quán)能獲得更高級別的權(quán)限。 4.危害 越權(quán)漏洞的危害與影響主要是與對應(yīng)業(yè)務(wù)的重要性相關(guān),⽐如說某⼀頁⾯服務(wù)器端響應(yīng)(不局限于頁⾯返回的信息,有時(shí)信息在響應(yīng)包中,頁⾯不⼀定能看見)中返回登錄名、登錄密碼、⼿機(jī)號、⾝份證等敏感信息,如果存在平⾏越權(quán),通過對⽤戶ID的遍歷,就可以查看所有⽤戶的敏感信息,這也是⼀種變相的脫褲,⽽且很難被防⽕墻發(fā)現(xiàn),因?yàn)檫@和正常的訪問請求沒有什么區(qū)別,也不會包含特殊字符,具有⼗⾜的隱秘性 5.防護(hù) 1,前后端同時(shí)對用戶輸入信息進(jìn)行校驗(yàn),雙重驗(yàn)證機(jī)制 2,調(diào)用功能前先驗(yàn)證用戶是否具備此功能的操作權(quán)限 3,直接對象引用的加密資源ID,防止攻擊者枚舉ID,敏感數(shù)據(jù)特殊化處理 4,永遠(yuǎn)不要相信來自用戶的輸入,對可控參數(shù)進(jìn)行過濾,驗(yàn)證和編碼等 該文章在 2024/1/22 9:01:23 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |