gpt4 book ai didi

java - RedisTemplate 导致 Fortify 动态代码评估中的不安全反序列化

转载 作者:太空宇宙 更新时间:2023-11-04 09:29:48 25 4
gpt4 key购买 nike

在制作spring redis数据模板时,我使用:

RedisTemplate<String, xxxDTO> template = new RedisTemplate<>();

然后我还将反序列化器设置为自定义反序列化器,该反序列化器将某些类列入白名单,以防反序列化不安全。

强化不知何故仍然突出:

new RedisTemplate<>();

作为动态代码评估期间的不安全反序列化,在输入验证和表示领域内。

如何在不被标记的情况下制作RedisTemplate?

最佳答案

我通过静态代码分析器的尝试和实验找到了自己的答案。显然,您应该重写 RedisTemplate 类的实现并执行您自己的 jdkserializationredisserializer 实现。

具体来说,您应该重写并创建一个反序列化转换器,该转换器将在构造函数方法中的 jdkserializationredisserializer 类中调用,因为它默认不使用任何验证(它使用 DeserializingConverter)。然后在反序列化转换器中,您实现白名单方法来指定所需的类。确保您也对它们进行单元测试,因为它们可能具有需要反序列化的依赖类。

关于java - RedisTemplate 导致 Fortify 动态代码评估中的不安全反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57224937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com