banner
毅种循环

毅种循环

头顶铁锅接收宇宙能量

shiro-waf-bypass

这个 shiro 是有 WAF 的,具体的情况就是找得到 key,但是找不到链。

image.png

当 key 存在但是找不到链,抓包看看请求。

我所知的 shiro bypass 思路就从 rememberMe cookie 的长度,还有就是脏数据填充,waf 会解密 rememberMe cookie,解密后查看是否存在恶意行为,bypass 的策略就是防止 cookie 被解密,由于 shiro 的加解密方式用到的是 base64+aes,只需要再 payload 中加入某些特殊字符,即可绕过 waf,可用的字符为!、@、#(只要不出现 BASE 编码中可能出现的字符就行)

先探测 WAF 规则#

image.png

这是一个工具探测链的时候所发送的请求包,请求包为 GET 请求。

状态无回显。

image.png

rememberMe 存在,rememberMe=deleteMe 也存在。

那就可以确定一件事,WAF 确实拦截了 cookie 长度。

有可以缩小 payload 长度的,但是我不会,项目参考:https://xz.aliyun.com/t/10824

填充脏字符#

image.png

填充脏字符后依然无回显。

未知 Http 方法名绕 WAF#

修改 GET 请求方法测试。

最后把请求修改为 XXX 之后即可执行成功。
image.png

image.png

注:#

刚开始未知请求不可以,还是被 WAF 掉了,刚开始识别的 WAF 特性是:

1. 拦 cookie 数据过长

2. 拦纯 POST

当时使用伪协议成功绕过,日后可以多试试,主要就是思路就是 fuzz 的过程。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。