fastjson漏洞测利用工具有哪些?fastjson反序列化原理是什么?

Fastjson是Alibaba开发的,Java语言编写的高性能Json库,号称Java语言中最快的Json库,但就是这么好用的Json库也存在着漏洞,那fastjson漏洞测利用工具有哪些?下面来我们就来给大家讲解一下。

有的时候,我们在渗透测试发现fastjson资产情况下,找不到利用工具,这里推荐一款图形化的工具

1.下载地址

https://github.com/nex121/FastjsonEXP

2.利用工具实现Fastjson 1.2.47 远程命令执行漏洞

靶场:Vulhub靶场,docker启动。

vulhub/fastjson/1.2.47-rce

docker-compose up -d

1.检测漏洞是否存在

这里我们在输入目标地址的时候,要输入http,否则可能不能解析。

fastjson漏洞测利用工具有哪些?fastjson反序列化原理是什么?.png

如果存在fastjson漏洞的话,会弹出存在漏洞的弹框。

2.漏洞利用

在下载连接里有两个连接地址,第一个是工具,第二个是利用脚本。我们将这两个放在同一目录下。

1.png

然后,按照下面步骤

2.png

在第三步监听后,会创建监听

3.png

然后,执行第四步和第五步之后,点击发送,会执行命令。

4.png

我们去容器中查看命令是否执行成功,可以看到已经创建成功了。

5.png

这里还有远程的使用方法,只要把fastjson_tool.jar放在远程服务器(linux)的root目录下

输入账号密码后,点击测试看是否连接成功。成功后,直接在下面输入攻击地址,再输入版本号,点击发送即可。

fastjson反序列化原理是什么?

反序列化原理:

Fastjson反序列化,即在代码中调用JSON.parse(jsonstr)、JSON.parseObject(jsonstr)等方法的时候,实现将json格式的字符转换为一个Java对象的过程。在进行反序列化的时候会根据json中的字段自动调用对象的set和get方法,当方法中存在可利用点的时候就会造成安全漏洞。具体分析原理分析网上已经很多了,这里不做太多阐述。

分析:

在大多数应用场景中,Fastjson仅仅作为第三方依赖嵌入到项目中,这种形式导致了Poc无法控制Web容器的Response对象(当然针对特定容器可以,使用TemplatesImpl加载字节码,这个poc比较老了,基本都补了)实现命令执行结果回显输出。目前网上公开的Poc基本都是利用JNDI注入,使用JNDI注入实现代码执行的Poc都有一个弱点,就是需要目标服务器能够出互联网。

fastjson漏洞测利用工具我们可以按照以上的方法去检测,虽说fastjson一直有漏洞,但我们也是可以避免的。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。

推荐阅读:

ajax如何解决跨域请求?解决ajax跨域问题

java方法里怎么装泛型?使用泛型有什么好处?

java中接口可以继承类吗?java接口可以多继承吗?