聲明
由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負(fù)責(zé),雷神眾測以及文章作者不為此承擔(dān)任何責(zé)任。
雷神眾測擁有對此文章的修改和解釋權(quán)。如欲轉(zhuǎn)載或傳播此文章,必須保證此文章的完整性,包括版權(quán)聲明等全部內(nèi)容。未經(jīng)雷神眾測允許,不得任意修改或者增減此文章內(nèi)容,不得以任何方式將其用于商業(yè)目的。
No.1
簡介
越權(quán)漏洞是指應(yīng)用在檢查授權(quán)時存在紕漏,使得攻擊者在獲得或者未獲得低權(quán)限用戶帳戶后,可以利用一些方式繞過權(quán)限檢查,訪問或者操作到原本無權(quán)訪問的高權(quán)限功能。常見的越權(quán)漏洞有平行越權(quán)漏洞、垂直越權(quán)漏洞、權(quán)限框架缺陷等。
No.2
平行越權(quán)
?攻擊者可以訪問與他擁有相同權(quán)限用戶的資源基于用戶身份id(用戶身份唯一標(biāo)識)
案例1
首先點擊審批中,抓取數(shù)據(jù)包

我們選擇爆破crntDealPesn字段的后三位,

如圖所示,可以任意查看所有存在的審批中的記錄

案例2(cookie越權(quán))
點擊"修改我的資料",漏洞地址為
http://xxx.xxx.com/user.asp?action=modifuser
這里就使用Cookie Editor演示,修改成UserName=ASDZXC,可以看到ASDZXC的個人資料。
修改前

修改后

?存在Cookie越權(quán),成功查看ASDZXC賬戶的信息。基于對象id(訂單號/流水號等)
案例
首先在電子簽訂頁點擊查看功能,抓取數(shù)據(jù)包

設(shè)置爆破后四位的合同號

如下圖所示,數(shù)據(jù)較大的返回包均是存在數(shù)據(jù)的合同號,可任意查看他人的合同數(shù)據(jù)

我們?nèi)我膺x擇一個存在的合同號,在數(shù)據(jù)包中進(jìn)行替換

放過數(shù)據(jù)包,查看web頁面已經(jīng)變成了他人的合同信息

No.3
垂直越權(quán)
?低權(quán)限用戶可以做超過本身權(quán)限的操作,例如普通用戶可以操作管理員才可以使用的功能未認(rèn)證用戶能夠訪問認(rèn)證后才可以使用的功能點
案例
漏 洞 url:
http://xxx.xxx.com/weaver/weaver.file.FileDownload? fileid=10000&download=1&requestid=0&desrequestid=0&votingId=0&f_weaver_belongto_userid= &f_weaver_belongto_usertype=
這是某個OA系統(tǒng)下載文件的鏈接,通過修改fileid的值(fileid的值可以遍歷)可以不登錄系統(tǒng)直接下載該系統(tǒng)內(nèi)的文件



?低權(quán)限用戶能夠訪問高權(quán)限用戶才可以訪問的功能
案例
該系統(tǒng)后臺修改密碼不需要驗證原密碼,且只通過id判斷用戶身份,id為1的是admin的賬號,我們抓包修
改密碼時將id改為1即可成功修改admin的賬號
首先點擊查看個人信息,抓包查看自己的id值為200,我們將id值修改為1即可成功查看到admin的信息

如圖所示,我們已經(jīng)成功看到admin的信息了,且該處修改密碼不需要驗證原密碼

修改密碼,成功修改了admin的登錄密碼

No.4
權(quán)限框架缺陷
應(yīng)用權(quán)限控制框架本身存在缺陷容易被攻陷,會導(dǎo)致權(quán)限控制功能完全失效
案例
在某次護(hù)網(wǎng)行動中發(fā)現(xiàn)的攻擊者所使用的漏洞,只要構(gòu)造特殊的參數(shù)就可以無需登錄直接訪問后臺,并且是admin權(quán)限
漏洞URL:
http://xxx.xxx.com/HomeSSO.action?userName=YWRtaW4=&autoLoginFlag=0
該網(wǎng)站是一個通用的cms,只要構(gòu)造特定的userName和autoLoginFlag=0的情況下,即可達(dá)成訪問url直接進(jìn)入后臺的效果

No.5
修復(fù)建議
1.嚴(yán)格限制賬戶數(shù)據(jù)互相訪問之間的權(quán)限校驗,用戶進(jìn)行訪問操作的憑證(如用戶ID、產(chǎn)品號碼、訂單流水號等)優(yōu)先采用在服務(wù)端關(guān)聯(lián)session或加密后放在session中的方式獲取。
2.必須采用表單或其他參數(shù)提交用戶進(jìn)行訪問操作的憑證(如用戶ID、產(chǎn)品號碼、訂單流水號等)時,應(yīng)盡可能采用難以猜測的構(gòu)造方式(增加字母及隨機(jī)數(shù)字等)或采用復(fù)雜的加密算法加密后提交,應(yīng)對客戶端提交的憑證與會話的權(quán)限進(jìn)行嚴(yán)格的驗證,如提交的產(chǎn)品號碼是否為隸屬于登錄用戶的產(chǎn)品號碼。