在XML文件中,我看到许多元素的属性以ACED00057400
开头。这是什么意思?我该如何解析?例如,我看到ACED00057400095245434F4D4D454E44
和ACED000574000566616C7365
并想对其进行解码。
在上下文中采样xml:
.
.
.
<vals>ACED00057400095245434F4D4D454E44</vals>
<vals>ACED000574000566616C7365</vals>
.
.
.
答案 0 :(得分:2)
ACED00057400
是本文描述的Java序列化使用的魔术字节的十六进制编码:What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your Application Have in Common? This Vulnerability. By @breenmachine
通常,您可以使用十六进制文本转换器对其进行解码。在您提供的两个示例中,将是:
ACED00057400095245434F4D4D454E44
至¬ít RECOMMEND
ACED000574000566616C7365
至¬ítfalse
。注意:文本将不能正确转换为字符串,因为它包含的字节显示不正确。例如,十六进制的00
是ASCII的null
。您可以截断ACED00057400
,它是一个字符串,那么转换就可以了。
但是,有时Java程序会序列化一个对象,它看起来像胡言乱语。在这种情况下,您将需要实现Serializable的类的源代码或库。