全新 Fastjson 扫描器

admin 2023年5月5日12:27:29评论101 views字数 1373阅读4分34秒阅读模式

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

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

0x01 工具特性

目前fastjsonScan支持
☑️支持批量接口探测
☑️1.2.83及以下的区间探测(主要分为48,68,80三大安全版本)
☑️支持报错回显探测
☑️DNS出网检测
☑️支持AutoType状态检测
☑️依赖库检测
☑️延迟检测

适配内网环境下的探测
适配webpack做自动化扫描
完善DNS回显探测依赖库的探测
完善在61版本以上并且不出网的检测方式
完善其他不同json解析库的探测 完善相关依赖库检测

0x02 工具使用

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

全新 Fastjson 扫描器
全新 Fastjson 扫描器

0x03 更新内容

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探测和延迟探测

https://github.com/a1phaboy/FastjsonScan

全新 Fastjson 扫描器

声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白名单。

请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与本公众号无关。

 

原文始发于微信公众号(白帽学子):全新 Fastjson 扫描器

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月5日12:27:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   全新 Fastjson 扫描器https://cn-sec.com/archives/1707881.html

发表评论

匿名网友 填写信息