springboot渗透总结

VSole2022-01-26 09:36:45

一、前言

今天的文章主要跟大家聊一下关于springboot环境下的渗透。Springboot现如今可以说是java开发的一个入门框架,深受各个公司亲赖,现有java站点springboot还是有一定比例的,所以说还是有必要对springboot渗透有一定了解。

二、攻击思路

1. 总体分析

对于springboot框架,常见的攻击思路主要是监控端点以及swagger-ui接口的一些利用,已有的文章算是比较多了,这里给一个GitHub的地址:https://github.com/LandGrey/SpringBootVulExploit,其中对于漏洞的介绍算是比较详细,所以在这里主要介绍一些经验之谈以及一些新东西。

2. 版本

对于springboot框架识别,大部分师傅可能已经了解,这里稍微提一下,可以根据图中的两个特征或者cookie中的springboot标识等确定目标站点是否为springboot。

springboot大版本可以分为1.x和2.x,通过暴露的监控端点可以区分其版本。1.x版本在监控端点未授权的情况下,默认是监控端点是全部打开的,而在2.x版本,可能是官方为了安全着想,默认仅开启了几个无伤大雅的端点。

下图为Springboot 1.x启动时开启的监控端点

下图为Springboot 2.x启动时开启的监控端点

只有当Endpoint. Shutdown. enabled属性设置为true时才会暴露出其他敏感端点

3. env端点攻击

env端点是在渗透时候比较重要的一个端点,一些历史rce漏洞基本都需要依赖该端点post数据给服务器,并且改端点还会暴露系统一些比较敏感的信息。

3.1获取脱敏敏感信息

该端点对敏感信息会进行脱敏处理,对于获取脱敏敏感信息,主要分为远程请求vps和heapdump内存中查找。我建议从内存中查找,这样可以避免vps地址暴露。其次敏感信息不局限于数据库密码等,还有可能存在邮箱账号,企业微信apikey,微信小程序apikey等,这些都是在项目中确切获取到过的。

如下为某企业微信apikey,微信有公开的api文档,通过这些可以获取目标大量人员信息,甚至是加入到目标的企业微信中。

如下为某小程序微信apikey,使用官方api查看该小程序存在大量用户,拥有该小程序的某些控制权限危害还是比较大的。

对于获取到的数据库连接信息都是内网的,不要认为没有用处,密码和端口还是有一定作用,对于非随机的密码,可以在目标所属ip段进行碰撞或者组合密码规则获取数据库权限也是有可能的,在《记一次hw打点》文章中也确实获取了外网redis的权限。微信apikey、邮箱账号等权限都是重要信息,可以更加贴近目标,对于接下来的攻击做铺垫。

3.2 env端点下的rce

历史rce在github项目中已经提及七七八八,各位师傅可以下载项目中的靶场环境进行复现,需要注意的一点就是1.x和2.x中提交数据时的Content-Type分别为application/x-www-form-urlencoded和application/json,否则会提交数据失败。

4. httptrace端点

httptrace端点可以获取当前web访问的请求信息,可能找到未销毁的管理员cookie信息,在这里建议判断到一个web为springboot开发时候不要扫描目录,别问我是怎么知道的(/(ㄒoㄒ)/~~,因为这个端点的记录是有上限的,有一次扫描目录后发现所有的记录都是我扫描的记录,可能把有些有用的东西给覆盖了)。

5. gateway端点

gateway端点的利用主要是ssrf,现有文章可能比较少,这边做一个复现。当gateway端点存在未授权时,直接访问gateway是一个404的状态。

访问actuator/gateway/routes路由,可以看到系统的所有口接口信息

我们可以为该接口添加路由,比如添加个index路由,将路由地址设置为百度,状态回显201则路由创建成功。

访问/actuator/gateway/refresh刷新配置

刷新成功后我们可以再次请求actuator/gateway/routes看到index路由被添加

访问index路由

当然我们也可以删除掉路由,delete /actuator/gateway/routes/index接口

再次进行刷新配置

查看路由,发现index路由已经不在了

对于gateway端点的利用,很多师傅可能脑中会有很多自己的攻击思路,比如钓鱼,如果一个目标域名的站点存在漏洞,那么该钓鱼的可信程度会大大增加。ssrf基于伪协议的利用暂未实现成功。

三、总结

关于springboot的总结暂时就是这些,仅是个人的浅显经验,如有其他思路或者文章内有纰漏的地方希望各位师傅可以在公众号下方留言沟通。最后临近新年,祝各位师傅新年快乐!!!

路由
本作品采用《CC 协议》,转载必须注明作者和本文链接
路由器能隔绝广播,那要VLAN有什么用,既配置了VLAN又划分在不同的网段是不是有些多余了?题主的意思是不要
值得指出的是,即使是IS-IS协议,也要流经协议栈的网络层,而网络层同样有IS-IS路由表,网络层同样要依赖于这个IS-IS路由表提供路由服务。不工作在TCP/IP协议架构之上的IS-IS,查IS-IS路由表。路由协议不能没有路由表,但是路由表可以没有路由协议。这里进程之间的通信是指进程使用TCP/IP作为通信的桥梁。需要指出的是,路由协议产生的路由表,并不都是可以进入TCP/IP的全局路由表。
做类似题最快的方法是将路由表包含的IP地址范围写出来,然后看看目的IP地址是否包含在其中。
由于新发布的路由的Cost值更小,成为优选路由,从而导致环路。DeviceD和DeviceE的OSPF 1收到这条LSA后,会分别计算出到10.0.0.1的路由,其出接口为各自设备的interface1,cost值为21,路由优先级为150。
我想问一下路由模式、网桥模式、旁路模式它们的作用跟区别都是啥,哪位可以帮我解答一下? 路由模式 (Routi
该漏洞为华硕RT-ax56u路由器httpd服务中身份验证后的栈溢出漏洞,由于该路由器在身份
来自安全公司Core Security的安全专家已经披露了一个缓冲区溢出漏洞的详细信息,该漏洞影响了运行MikroTik RouterOS 6.41.3/6.42rc27之前版本的所有体系结构和所有设备。 MikroTik成立于1995年,总部位于拉脱维亚首都里加,主要从事开发路由器和无线ISP系统,其生产的产品目前已经遍布全世界各地。该公司开发的RouterOS是一套基于Linux v3.3
 网络中断已成为一个可怕的现实,扰乱了企业、个人生活和沟通渠道。虽然没有任何网络能够幸免于这一不幸事件,但最近澳大利亚电信中断事件清楚地提醒我们此类中断可能产生的影响。这次停电持续了几个小时,给澳大利亚全国范围内的企业、基本服务和日常生活造成了干扰。这个例子凸显了现代电信网络的复杂性以及发生中断的可能性。即使拥有最先进的基础设施和强大的冗余措施,软件故障、硬件故障或自然灾害等不可预见的事
利用该漏洞,攻击者能够在受影响的设备上创建账户,并完全控制这个账户;
VSole
网络安全专家