fastjson大家一定都不陌生,它是阿里巴巴的开源一个JSON解析库,可以用于将Java Bean和JSON 字符串之间进行转换。前段时间,fastjson被爆出过多次存在漏洞,这给开发人员带来了很多的麻烦,那有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漏洞的话,会弹出存在漏洞的弹框。
2.漏洞利用
在下载连接里有两个连接地址,第一个是工具,第二个是利用脚本。我们将这两个放在同一目录下。
然后,按照下面步骤
在第三步监听后,会创建监听
然后,执行第四步和第五步之后,点击发送,会执行命令。
我们去容器中查看命令是否执行成功,可以看到已经创建成功了。
这里还有远程的使用方法,只要把fastjson_tool.jar放在远程服务器(linux)的root目录下
输入账号密码后,点击测试看是否连接成功。成功后,直接在下面输入攻击地址,再输入版本号,点击发送即可。
FastJson对json字符串解析用到了哪几类?
FastJson是用于java后台处理json格式数据的一个工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
1、速度最快,测试表明,fastjson具有极快的性能,超越任其他的java json parser。
2、功能强大,完全支持java bean、集合、Map、日期、Enum,支持范型,支持自省。
3、无依赖,能够直接运行在Java SE 5.0以上版本
二、FastJson对于json格式字符串的解析主要用到了一下三个类:
1、JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。
2、JSONObject:fastJson提供的json对象。
3、JSONArray:fastJson提供json数组对象。
FastJson对于json格式字符串的解析主要用到以上这三个类,Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读:
如何去掉json字符串中的引号?java字符串怎么加双引号?