未授权漏洞

目录

0x01、什么是未授权漏洞

0x02、SpringBoot Actuator 未授权访问

0x03 SwaggerUI未授权访问漏洞


0x01、什么是未授权漏洞

未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。

0x02、SpringBoot Actuator 未授权访问

2.1 漏洞简介

Actuator 是 springboot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看、统计等。在 Actuator 启用的情况下,如果没有做好相关权限控制,非法用户可通过访问默认的执行器端点(endpoints)来获取应用系统中的监控信息,从而导致信息泄露甚至服务器被接管的事件发生。

2.2漏洞分析

① 分析web 应用使用的框架为 springboot 框架

② 如果web应用开发者没有修改springboot web默认图标

③ 如果修改了默认图标,我们通过访问refresh web网页报错进行分析,如果 web 应用开发者没有修改 springboot web 应用的默认 4xx、5xx 报错页面,那么当 web 应用程序出现 4xx、5xx 错误时,会报错如下如图所示

④可以将界面放入burp suite 中抓包,如果请求数据中存在token,将token删除后,访问界面有敏感数据,则判断有未授权漏洞

2.3漏洞检测

可利用未授权常见访问路径(不限于根目录下,可能是某个目录下存在 )(目录遍历)

 /autoconfig 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过
 /configprops 描述配置属性(包含默认值)如何注入Bean
 /beans 描述应用程序上下文里全部的 Bean,以及它们的关系
 /dump 获取线程活动的快照
 /env 获取全部环境属性
 /enviiname 根据名称获取特定的环境属性值
 /health 报告应用程序的健康指标,这些值由 HealthIndicator的实现类提供
 /info 获取应用程序的定制信息,这些信息由info打头的属性提供
 /mappings 描述全部的 URI 路径,以及它们和控制器(包含 Actuator 端点)的映射关系
 /metrics 报告各种应用程序度量信息,比如内存用量和 HTTP 请求计数
 /metrics/name 报告指定名称的应用程序度量值
 /shutdown 关闭应用程序,要求 endpoints.shutdown.enabled 设置为 true(默认为 false
 /trace 提供基本的 HTTP 请求跟踪信息(时间戳、HTTP头等

数据库账号密码泄露
由于 actuator 会监控站点 mysql、mangodb 之类的数据库服务
所以通过监控信息有时可以拿下 mysql、mangodb 数据库
这个主要通过/env 路径获取这些服务的配置信息
比如如下站点存在 actuator 配置不当漏洞,通过其/env 路径
可获得 mysql、mangodb 的用户名及密码

查看http历史消息
这个主要通过访问/trace 路径;
比如如下站点存在 actuator 配置不当漏洞;
在其 trace 路径下,除了记录有基本的 HTTP 请求信息(时间戳、HTTP 头等);
还会存在有用户 token、cookie 字段;
trace 下可以看到我们之前访问的记录;

0x03 SwaggerUI未授权访问漏洞

3.1 漏洞简介

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。相关的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger-UI会根据开发人员在代码中的设置来自动生成API说明文档,若存在相关的配置缺陷,攻击者可以未授权翻查Swagger接口文档,得到系统功能API接口的详细参数,再构造参数发包,通过回显获取系统大量的敏感信息。

3.2 漏洞分析

Swagger未开启页面访问限制,Swagger未开启严格的Authorize认证。

注:Authorization是指根据用户提供的身份凭证,生成权限实体,并为之授予相应的权限。

3.3 漏洞检测

/api 	
/api-docs
/api-docs/swagger.json
/api.html
/api/api-docs
/api/apidocs
/api/doc
/api/swagger
/api/swagger-ui
/api/swagger-ui.html
/api/swagger-ui.html/
/api/swagger-ui.json
/api/swagger.json
/api/swagger/
/api/swagger/ui
/api/swagger/ui/
/api/swaggerui
/api/swaggerui/
/api/v1/
/api/v1/api-docs
/api/v1/apidocs
/api/v1/swagger
/api/v1/swagger-ui
/api/v1/swagger-ui.html
/api/v1/swagger-ui.json
/api/v1/swagger.json
/api/v1/swagger/
/api/v2
/api/v2/api-docs
/api/v2/apidocs
/api/v2/swagger
/api/v2/swagger-ui
/api/v2/swagger-ui.html
/api/v2/swagger-ui.json
/api/v2/swagger.json
/api/v2/swagger/
/api/v3
/apidocs
/apidocs/swagger.json
/doc.html
/docs/
/druid/index.html
/graphql
/libs/swaggerui
/libs/swaggerui/
/spring-security-oauth-resource/swagger-ui.html
/spring-security-rest/api/swagger-ui.html
/sw/swagger-ui.html
/swagger
/swagger-resources
/swagger-resources/configuration/security
/swagger-resources/configuration/security/
/swagger-resources/configuration/ui
/swagger-resources/configuration/ui/
/swagger-ui
/swagger-ui.html
/swagger-ui.html#/api-memory-controller
/swagger-ui.html/
/swagger-ui.json
/swagger-ui/swagger.json
/swagger.json
/swagger.yml
/swagger/
/swagger/index.html
/swagger/static/index.html
/swagger/swagger-ui.html
/swagger/ui/
/Swagger/ui/index
/swagger/ui/index
/swagger/v1/swagger.json
/swagger/v2/swagger.json
/template/swagger-ui.html
/user/swagger-ui.html
/user/swagger-ui.html/
/v1.x/swagger-ui.html
/v1/api-docs
/v1/swagger.json
/v2/api-docs
/v3/api-docs

可以添加上述默认路径到dirsearch等目录扫描工具的字典中,再对目标网站进行扫描测试。

### Everything 软件未授权访问漏洞的原因 Everything 是一款高效的文件搜索工具,其核心功能在于快速索引和检索本地磁盘上的文件。然而,在某些版本中可能存在未授权访问漏洞,这通常是由于软件默认开启了网络共享功能所致。如果该功能配置不当,可能会允许远程用户无需身份验证即可访问或操作服务器上的文件资源[^1]。 具体来说,这种漏洞的主要原因包括以下几个方面: - **默认开启的服务端口**:在早期版本中,Everything 默认监听特定的 TCP 或 UDP 端口(如 30000)。如果没有正确设置访问权限,任何连接到此端口的人都能获取文件列表甚至执行其他敏感操作。 - **缺乏认证机制**:部分版本未能强制实施有效的用户身份验证流程,使得未经授权的客户端也能轻易地与服务交互。 - **错误配置的风险**:即使存在安全选项供用户自定义启用状态及权限范围等功能,默认情况下若预设值不够谨慎,则容易引发安全隐患。 针对上述情况,以下是关于如何修复此类问题的具体措施: ### 解决方法 #### 方法一:关闭不必要的网络功能 最简单直接的方式就是禁用一切形式下的外部联网能力。可以通过进入应用程序界面内的高级设置页面找到对应条目来完成此项调整。例如取消勾选“Enable remote search”等相关参数以彻底断绝来自外界未经许可之请求的可能性[^2]。 ```bash # 如果需要重新安装,请确保从官方渠道下载最新稳定版程序包 wget https://www.voidtools.com/Everything-1.x.x.x.x-x64.zip unzip Everything-*.zip sudo mv everything /usr/local/bin/ ``` #### 方法二:强化访问控制策略 当确实有必要保留一定限度内的跨设备查询便利性时,则应采取更为严格的准入规则加以约束。比如限定只接受局域网内部IP地址发起的会话尝试;或者引入基于用户名密码组合的身份校验环节等等。 此外还可以考虑部署防火墙规则进一步缩小暴露面。Linux环境下可运用`iptables`命令实现如下效果: ```bash iptables -A INPUT -p tcp --dport 30000 -s 192.168.1.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 30000 -j DROP ``` 以上脚本片段的作用是仅允许来自指定子网(即192.168.1.*) 的流量到达目标端口号,而拒绝其余所有方向来的相同性质的数据包传递行为发生。 #### 方法三:升级至安全性更高的新版本 厂商通常会在后续迭代过程中逐步完善原始设计缺陷并推出补丁解决方案。因此建议定期检查官方网站公告信息及时更新至包含改进后的算法逻辑的新发行版本之中去享受更佳的整体防护水平提升带来的益处[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值