gpt4 book ai didi

java - CVE-2015-4852 : Evaluating Apps for Vunerability

转载 作者:行者123 更新时间:2023-12-02 04:12:27 24 4
gpt4 key购买 nike

我对 CVE-2015-4852 by Foxglove 的文章和示例漏洞的理解是您需要接收用户提供的序列化对象和类路径上存在的 Apache commons-collections 的代码来利用。

有了这两件事,请求应该是可以设计的(尽管有些可能需要反复试验/了解系统)。

I commented in this question about Spring Vulnerabilities ,对于易受攻击的产品,它不必直接使用 InvokerTransfomer。有问题的对象是由漏洞利用请求提供的。所有“易受攻击的应用程序”所要做的就是提供 commons-collections JAR 和逻辑,以在用户提供的 InvokerTransformer 实例上调用 .readObject()

假设我正确理解了这一点...基于从调用 ObjectInputStream.readObject() 方法的位置向后跟踪来评估产品(您有源代码)是否足够并得出结论:如果流可能包含外部用户提供的对象,那么产品可能容易受到攻击?

最佳答案

是的,如果不可信数据有一个路径可以到达对ObjectStream.readObject()的调用,并且InvokerTransformer位于类路径上,那么该产品或库就容易受到攻击.

如果您必须接受用于反序列化的不受信任的数据,那么您可以阻止包含 InvokerTransformer 的有效负载。您必须推出自己的可序列化格式解析器或找到可以执行此操作的安全库。

另一个缓解措施是在 InvokerTransformer 无法访问的单独类加载器中进行反序列化。

更好 - 正如 @PhaedrusPhacdelm 发现的 - 将允许反序列化的类列入白名单: http://fishbowl.pastiche.org/2015/11/09/java_serialization_bug/ http://www.ibm.com/developerworks/library/se-lookahead/

关于java - CVE-2015-4852 : Evaluating Apps for Vunerability,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33679614/

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