Web安全漏洞分析-越權漏洞

1 .定義

垂直越權漏洞,也稱為權限提升,是一種“基於URL的訪問控制”設計缺陷引起的漏洞。由於Web應用程序沒有做權限控制或者僅在菜單上做了權限控制,導致惡意用戶只要猜測其他管理頁面的URL,就可以訪問或控制其他角色擁有的數據或頁面,達到權限提升的目的。

水平越權漏洞,是一種“基於數據的訪問控制”設計缺陷引起的漏洞。由於服務器端在接收到請求數據進行操作時沒有判斷數據的所屬人而導致的越權數據訪問漏洞。如服務器端從客戶端提交的request參數(用戶能夠控制的數據)中獲取用戶id,惡意攻擊者通過變換請求ID的值,查看或修改不屬於本人的數據。

1.1 垂直越權漏洞

Web安全漏洞分析-越權漏洞

1.2 水平越權漏洞

越權刪除用戶地址

Web安全漏洞分析-越權漏洞

某銀行水平越權遍歷其它賬號的餘額

該銀行越權漏洞存在於涉及轉賬匯款的地方,選擇付款賬戶時系統會先查詢賬戶的餘額,在此處通過遍歷賬號即可獲取到其他人的賬戶餘額,使用burpsuite的intruder功能遍歷accountNo查詢他人賬戶餘額

Web安全漏洞分析-越權漏洞

2.越權漏洞防護

2.1 垂直越權漏洞

垂直越權漏洞:在調用功能之前,驗證當前用戶身份是否有權限調用相關功能(推薦使用過濾器,進行統一權限驗證)

Web安全漏洞分析-越權漏洞

垂直越權漏洞防護方案:通過全局過濾器來檢測用戶是否登錄,是否對資源具有訪問權限。

Web安全漏洞分析-越權漏洞

將權限訪問規則存入privilege.properties文件中:

Web安全漏洞分析-越權漏洞

在web.xml中配置過濾器及權限配置文件:

Web安全漏洞分析-越權漏洞

Spring MVC訪問控制

Spring Security也提供了“基於URL的訪問控制”和“基於Method的訪問控制”。

Web安全漏洞分析-越權漏洞

2.2 水平越權漏洞

水平越權漏洞:在用戶進行操作時,從session中獲取用戶id,將傳入的參數與用戶的身份做綁定校驗。

Web安全漏洞分析-越權漏洞


分享到:


相關文章: