Spring security Spring HttpInvoker在身份验证之前易受最近的反序列化攻击?
最近的Java反序列化攻击(带有指向主要应用程序服务器以及Spring和Groovy应用程序的示例代码链接)引起了很多恐慌。文章指出,这些攻击绕过了身份验证,因为在完成身份验证检查之前,对象负载被反序列化。不过,它并没有具体地命名或讨论SpringHttpInvoker,而且我还没有在其他地方找到关于这一点的明确声明Spring security Spring HttpInvoker在身份验证之前易受最近的反序列化攻击?,spring-security,spring-remoting,Spring Security,Spring Remoting,最近的Java反序列化攻击(带有指向主要应用程序服务器以及Spring和Groovy应用程序的示例代码链接)引起了很多恐慌。文章指出,这些攻击绕过了身份验证,因为在完成身份验证检查之前,对象负载被反序列化。不过,它并没有具体地命名或讨论SpringHttpInvoker,而且我还没有在其他地方找到关于这一点的明确声明 对于通过Spring HttpInvoker公开的远程服务,使用带有基本身份验证的Spring安全性,在反序列化(潜在恶意)对象负载之前是否执行身份验证检查?或者文章中关于“身份验
对于通过Spring HttpInvoker公开的远程服务,使用带有基本身份验证的Spring安全性,在反序列化(潜在恶意)对象负载之前是否执行身份验证检查?或者文章中关于“身份验证不会保护您免受此攻击”的断言也适用于HttpInvoker服务吗?决定自己测试一下。为了测试处理入站HTTP Invoker服务调用时的事件序列,我设置了一个简单的Spring Boot starter应用程序,如下所示:
- 一个HelloWorld服务公开一个简单的hello()方法,该方法将自定义HelloDto对象作为输入参数李>
- HelloDto中的自定义序列化逻辑用于记录序列化和反序列化
- Spring Security用于保护服务的基本身份验证
如果任何一位Spring专家能够确认这是一个准确的解释(或者特别是如果有任何模糊的“边缘案例”,在调用方被认证之前反序列化仍然会影响我们),那将非常感谢。我会在谷歌上搜索ysoserial有效负载生成器。使用每个选项创建有效负载,然后使用正确的内容类型集将其卷曲到端点。在我的工作中,我们做到了这一点,并对我们能够在开发服务器上远程执行代码感到惊讶