主页 > 案例 > JAVA > JavaScript教程 Android学习 ASP.NET JAVA

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

辰乐科技 | 发布时间: 2018-04-07 22:29

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

一、前言

在学习新事物时,我们需要不断提醒自己一点:纸上得来终觉浅,绝知此事要躬行。这也是为什么我们在学到知识后要付诸实践的原因所在。在本文中,我们会深入分析大家非常熟悉的Java发序列化漏洞。对我们而言,最好的实践就是真正理解手头掌握的知识,并可以根据实际需要加以改进利用。本文的主要内容包括以下两方面:

1. 利用某个反序列化漏洞。

2. 自己手动创建利用载荷。

更具体一点,首先我们会利用现有工具来实际操作反序列化漏洞,也会解释操作的具体含义,其次我们会深入分析载荷相关内容,比如什么是载荷、如何手动构造载荷等。完成这些步骤后,我们就能充分理解载荷的工作原理,未来碰到类似漏洞时也能掌握漏洞的处理方法。

整个过程中需要用到的工具都会在本文给出,但我建议你先了解一下这个工具:

https://github.com/NickstaDB/DeserLab

该工具包含我们准备实践的漏洞。之所以选择使用模拟漏洞而不是实际目标,原因在于我们可以从各个方面控制这个漏洞,因此也可以更好理解反序列化漏洞利用的工作原理。

二、利用DeserLab漏洞

首先你可以先读一下Nick写的这篇文章, 文章中介绍了DeserLab以及Java反序列化相关内容。本文会详细介绍Java序列化协议的具体细节。阅读完本文后,你应该可以自己搞定DeserLab环境。接下来我们需要使用各种预编译jar工具,所以我们可以先从Github上下载这些工具。现在准备步入正题吧。

碰到某个问题后,我通常的做法是先了解目标的正常工作方式。对于DeserLab来说,我们需要做以下几件事情:

运行服务器及客户端

抓取通信流量

理解通信流量

我们可以使用如下命令来运行服务器及客户端:

java -jar DeserLab.jar -server 127.0.0.1 6666 

java -jar DeserLab.jar -client 127.0.0.1 6666 

上述命令的运行结果如下:

java -jar DeserLab.jar -server 127.0.0.1 6666 

[+] DeserServer started, listening on 127.0.0.1:6666 

[+] Connection accepted from 127.0.0.1:50410 

[+] Sending hello... 

[+] Hello sent, waiting for hello from client... 

[+] Hello received from client... 

[+] Sending protocol version... 

[+] Version sent, waiting for version from client... 

[+] Client version is compatible, reading client name... 

[+] Client name received: testing 

[+] Hash request received, hashing: test 

[+] Hash generated: 098f6bcd4621d373cade4e832627b4f6 

[+] Done, terminating connection

java -jar DeserLab.jar -client 127.0.0.1 6666 

[+] DeserClient started, connecting to 127.0.0.1:6666 

[+] Connected, reading server hello packet... 

[+] Hello received, sending hello to server... 

[+] Hello sent, reading server protocol version... 

[+] Sending supported protocol version to the server... 

[+] Enter a client name to send to the server: 

testing 

[+] Enter a string to hash: 

test 

[+] Generating hash of "test"... 

[+] Hash generated: 098f6bcd4621d373cade4e832627b4f6 

相关热门文章

服务热线