banner
毅种循环

毅种循环

头顶铁锅接收宇宙能量

shiro-waf-bypass

這個 shiro 是有 WAF 的,具體的情況就是找得到 key,但是找不到鏈。

當 key 存在但是找不到鏈,抓包看看請求。

我所知的 shiro bypass 思路就從 rememberMe cookie 的長度,還有就是髒數據填充,waf 會解密 rememberMe cookie,解密後查看是否存在惡意行為,bypass 的策略就是防止 cookie 被解密,由於 shiro 的加解密方式用到的是 base64+aes,只需要再 payload 中加入某些特殊字符,即可繞過 waf,可用的字符為!、@、#(只要不出現 BASE 編碼中可能出現的字符就行)

先探測 WAF 規則

這是一個工具探測鏈的時候所發送的請求包,請求包為 GET 請求。

狀態無回顯。

判斷攔截 cookie 長度

rememberMe 存在,rememberMe=deleteMe 也存在。

那就可以確定一件事,WAF 確實攔截了 cookie 長度。

有可以縮小 payload 長度的,但是我不會,項目參考:https://xz.aliyun.com/t/10824

填充髒字符

填充髒字符後依然無回顯。

未知 Http 方法名繞 WAF

修改 GET 請求方法測試。

最後把請求修改為 XXX 之後即可執行成功。

註:

剛開始未知請求不可以,還是被 WAF 掉了,剛開始識別的 WAF 特性是:

1. 攔 cookie 數據過長

2. 攔純 POST

當時使用偽協議成功繞過,日後可以多試試,主要就是思路就是 fuzz 的過程。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。