作家
登录

Java反序列化漏洞从理解到实践

作者: 来源: 2017-09-28 12:06:00 阅读 我要评论

 send to the server: 
  • testing 
  • [+] Enter a string to hash: 
  • test 
  • [+] Generating hash of "test"... 
  • [+] Hash generated: 098f6bcd4621d373cade4e832627b4f6 
  • 上述结不雅并不是我们想要的信息,我们想问的问题是,这个情况若何实现反序列化功能?为了答复这个问题,我们可以应用wireshark、tcpdump或者tshark来捕获6666端口上的流量。我们可以应用如下敕令,应用tcpdump来捕获流量:

    1. tcpdump -i lo -n -w deserlab.pcap 'port 6666' 
    1. //this is the first class that will be deserialized 
    2.  String classToSerialize = "sun.reflect.annotation.AnnotationInvocationHandler"
    3.  //access the constructor of the AnnotationInvocationHandler class 
    4.  final Constructor<?> constructor = Class.forName(classToSerialize).getDeclaredConstructors()[0]; 
    5.  //normally the constructor is not accessible, so we need to make it accessible 
    6.  constructor.setAccessible(true); 

    在持续浏览本文之前,你可以先用wireshark来浏览一下pcap文件。读完Nick的文┞仿后,你应当已经懂得今朝所处的状况,至少可以或许辨认出隐蔽在流量中的序列化Java对象。

    2.1 提取序列化数据

    根据这些流量,我们可以肯定的是收集中有序列化数据正在传输,如今让我们来分析哪些数据正在传输。我选择应用SerializationDumper对象来解析这些流量,这个对象属于我们要用的对象集之一,感化与jdeserialize类似,后者属于有名已久腔骋绍发患咀用的老对象。在应用这些对象之前,我们须要先预备好待处理数据,是以,我们须要将pcap转换为可待分析的数据格局。

    1. tshark -r deserlab.pcap -T fields -e tcp.srcport -e data -e tcp.dstport -E separator=, | grep -v ',,' | grep '^6666,' | cut -d',' -f2 | tr '\n' ':' | sed s/://g 

    2.3 应用DeserLab中的马脚

    这条敕令固然看起来很长,但至少能正常工作。我们可以将这条敕令分化为更好懂得的子敕令,因为该敕令的功能是将pcap数据转换为经由十六进制编码的一行输出字符串。起首,该敕令将pcap转换为文本,文本中只包含传输的数据、TCP源端标语以及目标端标语:

    1. tshark -r deserlab.pcap -T fields -e tcp.srcport -e data -e tcp.dstport -E separator=, 

    结不雅如下所示:

    1. 50432,,6666 
    2. 6666,,50432 
    3. 50432,,6666 
    4. 50432,aced0005,6666 
    5. 6666,,50432 
    6. 6666,aced0005,50432 

    如上述结不雅所示,在TCP三次握手时代并没有传输数据,是以你可以看到',,'如许一段文本。随后,客户端发送第一个字节,办事器返回ACK报文,然后再发还某些字节数据,以词攀类推。敕令的第二个功能是持续处理这些文本,根据端口以及每一行的开首部分来选择输出合适的载荷:

    1. | grep -v ',,' | grep '^6666,' | cut -d

        推荐阅读

        如何解决深度学习中的多体问题

      「多体问题」(又叫 N 体问题)是看似简单,实际上在当今数学中极难霸占的问题。多体问题是指多个互相感化的实体。在物理学中,任何三体问题都没有一个封闭的情势或解析解(见:https://e>>>详细阅读


      本文标题:Java反序列化漏洞从理解到实践

      地址:http://www.17bianji.com/lsqh/37657.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)