当前位置 : 主页 > 编程语言 > 其它开发 >

各安全产品对shiro反序列化的处理

来源:互联网 收集:自由互联 发布时间:2022-06-03
防护手段: 1. 直接发现cookie中有rememberMe字段值时,直接认定为攻击。 2. 通过检测rememberMe值的长度来判断是否是攻击,这个长度按实际正常请求值的长度来设置。 3. 先将rememberMe的值进
防护手段:

1. 直接发现cookie中有rememberMe字段值时,直接认定为攻击。

2. 通过检测rememberMe值的长度来判断是否是攻击,这个长度按实际正常请求值的长度来设置。

3. 先将rememberMe的值进行一系列解码(base64--AES),再根据解码得到的数据来判断数据特征,通过看数据是不是常见攻击的特征来判断。

绕过方法:

第一种情况:我们可以在rememberMe中加回车符  /r 来绕过。Tomcat 9.0.19环境下可以。

第二种情况:那就只能修改payload的长度来绕过了

第三种情况:shiro在进行base64解码时,会先判断字符串中是否有非base64的字符,如果有,会丢弃非base64的字符。确保剩下的字符都是base64格式的,再解码。

我们在rememberMe的值中添加一些非base64编码的字符,就可以干扰安全产品对rememberMe的处理,从而绕过防护。也要确保我们插入的字符能被中间件正常解析。

如:!、#、$、%、&、’、(、)、.、[、]、\xeb、\xec、\xed、\xee、\xef、\xf0、\xf1等等。

其他绕过方法:

修改数据包的请求方法。这种能够利用成功就是安全产品只对常见的请求方法进行了防护。

 

 

http://changxia3.com/2022/05/09/Shiro%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E6%BC%8F%E6%B4%9E%E7%AC%94%E8%AE%B0%E4%BA%94%EF%BC%88%E5%AF%B9%E6%8A%97%E7%AF%87%EF%BC%89/

 

上一篇:星辰——人工智能中台
下一篇:没有了
网友评论