首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java去序列化小工具--为什么这个ysoserial负载使用反射来设置TiedMapEntry?

Java去序列化小工具--为什么这个ysoserial负载使用反射来设置TiedMapEntry?
EN

Stack Overflow用户
提问于 2021-06-20 03:55:10
回答 1查看 401关注 0票数 0

我开始研究Java反序列化小工具。我从著名的小工具开始,并查看了@matthias_kaiser的小工具链。

https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections6.java#L65-L100

有谁能解释一下以下情况吗?

  1. 为什么TiedMapEntry是通过Java仅仅使用HashSet#add()方法设置的?例如,

hashSet.add(tiedMapEntry); HashSet hashSet =新的HashSet()

我尝试了上面的方法,得到了一个serialization.异常,这使我相信在过程中可能出了问题。

  1. 有没有办法找出什么可能出了问题?有关于调试的提示吗?

  1. ,关于马提亚斯是如何想出反思“黑客”或者他的思维过程的想法吗?(我也将尝试与他和其他人联系)。

如果有其他提示(特别是在调试方面),请与我分享,因为这将极大地帮助我理解此漏洞和其他漏洞。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-22 08:33:13

  1. --如果将TiedMapEntry添加到HashSet中,则调用hashCode(),这将触发在LazyMap上调用get()TiedMapEntry.getValue()。这将触发变形金刚执行,这不是您想要的。

  1. - 1)

的副作用

方法org.apache.commons.collections.map.LazyMap.get(Object)上的

  1. 使用调试器并设置断点

  1. 通过读取实现代码并使用适当的IDE (IDEA,Eclipse)

进行调试

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68052529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档