神兵利器 | 分享一款New工具FastjsonScan(附下载)

VSole2023-04-07 14:12:22

FastjsonScan

一款探测FastJson漏洞工具

0x00 FastjsonScan now is public ???

WHAT?

FastjsonExpFramework一共分为探测、利用、混淆、bypass JDK等多个模块,而FastjsonScan 是其中一部分,通过报错、请求、依赖库等探测实现多方面定位fastjson版本

WHY?

现有的fastjson扫描器无法满足迭代速度如此快的fastjson版本,大部分扫描器早已无人维护,已不适配高版本。我将持续优化此系列项目。

HOW?

目前fastjsonScan支持

☑️支持批量接口探测

☑️1.2.83及以下的区间探测(主要分为48,68,80三大安全版本)

☑️支持报错回显探测

☑️DNS出网检测

☑️支持AutoType状态检测

☑️依赖库检测

☑️延迟检测

TODO

适配内网环境下的探测

适配webpack做自动化扫描

完善DNS回显探测依赖库的探测

完善在61版本以上并且不出网的检测方式

完善其他不同json解析库的探测 完善相关依赖库检测

如果在使用过程中有任何问题欢迎提出issues?

Demo

扫描结果

Usage

FastjsonScan [-u] url [-f] urls.txt [-o] result.txt
-u 目标url,注意需要加上http/https
-f 目标url文件,可以扫描多条url
-o 结果保存文件,默认在当前文件夹下的results.txt文件

0x01 Dev Notes

2022-09-05 0.5

Framework分离出scan模块

2022-09-05 0.4 beta

☑️重构版本探测模块,将判断fastjson,jackson,org.json,gson分离出来做识别模块

TODO:

利用dnslog探测依赖库

利用模块编写

2022-09-04 0.35 beta

☑️修复了48版本的探测payload,该payload在进行80版本的payload探测之后,会触发tojavaobject从而将java.net.InetAddress类加入白名单,当进行第二次版本探测时会产生误报

☑️版本检测会优先判断AutoType是否开启,如果开启只能模糊区分48以下及以上

2022-09-03 0.34 beta

☑️重构了版本探测模块,由之前精确探测分成了3块(48,68,80)

☑️重写了判断版本的逻辑

☑️补充了80版本与83版本的探测

TODO:

目标依赖库环境的探测

AutoType的状态对版本探测有影响,需要做处理

2022-09-02 0.33 beta

☑️修改了含有jackson字段的报错检测逻辑

☑️DNS检测新增10秒的等待时间,防止网络原因导致误报

2022-09-01 0.32 beta

☑️添加多条gadget,部分gadget复现不成功,根据目标的环境添加

☑️修改了延迟探测的bug

☑️添加了URLReader的探测链

2022-08-07 0.31 beta

☑️增加了几条gadgets

2022-08-06 0.3 beta

☑️完成了AutoType探测模块

2022-08-05 0.2 beta

☑️完成了探测模块的主要部分:包括报错探测,DNS探测和延迟探测

0x02参考

https://github.com/safe6Sec/Fastjson

https://github.com/hosch3n/FastjsonVulns

https://github.com/iSafeBlue/fastjson-autotype-bypass-demo

下载地址:

https://github.com/a1phaboy/FastjsonScan/releases/tag/v1.1

urlfastjson
本作品采用《CC 协议》,转载必须注明作者和本文链接
Java命名和目录接口是Java编程语言中接口的名称( JNDI )。它是一个API(应用程序接口),与服务器一起工作,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。 可以使用命名约定从数据库获取文件。JNDI为Java⽤户提供了使⽤Java编码语⾔在Java中搜索对象的⼯具。 简单来说呢,JNDI相当与是Java里面的一个api,它可以通过命名来查找数据和对象。
现有的fastjson扫描器无法满足迭代速度如此快的fastjson版本,大部分扫描器早已无人维护,已不适配高版本。我将持续优化此系列项目。延迟检测TODO适配内网环境下的探测适配webpack做自动化扫描完善DNS回显探测依赖库的探测完善在61版本以上并且不出网的检测方式完善其他不同json解析库的探测 完善相关依赖库检测如果在使用过程中有任何问题欢迎提出issues?
Fastjson 是阿里巴巴公司开源的一款 json 解析器,其性能优越,被广泛应用于各大厂商的 Java 项目中。fastjson 于 1.2.24 版本后增加了反序列化白名单,而在 1.2.48 以前的版本中,攻击者可以利用特殊构造的 json 字符串绕过白名单检测,成功执行任意命令。
Fastjson 是阿里巴巴公司开源的一款 json 解析器,其性能优越,被广泛应用于各大厂商的 Java 项目中。fastjson 于 1.2.24 版本后增加了反序列化白名单,而在 1.2.48 以前的版本中,攻击者可以利用特殊构造的 json 字符串绕过白名单检测,成功执行任意命令。
Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。 在进行fastjson的漏洞复现学习之前需要了解几个概念,如下:
Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的
fastjson.jar是阿里开发的一款专门用于Java开发的包,可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。除了这个fastjson以外,还有Google开发的Gson包,其他形式的如net.sf.json包,都可以实现json的转换。方法名称不同而已,最后的实现结果都是一样的。
拿来即用的Tomcat7/8/9/10版本Listener/Filter/Servlet内存马,支持注入CMD内存马和冰蝎内存马。
拿来即用的Tomcat7/8/9/10版本Listener/Filter/Servlet内存马,支持注入CMD内存马和冰蝎内存马。
VSole
网络安全专家