shiro 1.5.1漏洞復現
Apache Shiro 認證繞過漏洞(CVE-2020-1957)
Apache Shiro是一款開源安全框架,提供身份驗證、授權、密碼學和會話管理。Shiro框架直觀、易用,同時也能提供健壯的安全性。
在Apache Shiro 1.5.2以前的版本中,在使用Spring動態控制器時,攻擊者通過構造
..;
這樣的跳轉,可以繞過Shiro中對目錄的權限限制。
漏洞環境
我們先下載環境,在github有別人直接搭建好的docker環境我們直接拿來用即可
git clone git://github.com/vulhub/vulhub.git cd vulhub/shiro/CVE-2020-1957/ docker-compose up -d
訪問8080端口即可,由於我映射docker映射的8083端口所以訪問的就是8083端口
影響版本
Apache Shiro <= 1.5.1
漏洞復現
該框架會對admin的所有頁面進行權限校驗,我們訪問管理頁面/admin/時頁面將會被重新定義到登陸界面
我們可以構造惡意請求來繞過權限校驗來訪問到管理頁面,由於decodeAndCleanUriString 以 ;做截斷后面的請求,所以我們可以構造惡意請求/EDI/..;/admin/,當客戶端請求URL:/EDI/..;/admin/時,shiro內部處理得到校驗URL為/EDI/..然后通過校驗,然后springboot會處理每個進入的request請求,/EDI/..;/admin/的請求最終會訪問管理頁面/admin/成功。