说明 | 内容 |
---|---|
漏洞编号 | CVE-2013-7239 |
漏洞名称 | Memcached 未授权访问 |
漏洞评级 | |
影响范围 | Memcached全版本 |
漏洞描述 | |
修复方案 | 见底部; |
Memcached 是一套常用的 key-value 分布式高速缓存系统
由于memcached安全设计缺陷,默认的 11211 端口不需要密码即可访问,导致攻击者可直接链接memcache服务的11211端口获取数据库中信息,这可造成严重的信息泄露。
除memcached中数据可被直接读取泄漏和恶意修改外,由于memcached中的数据像正常网站用户访问提交变量一样会被后端代码处理,当处理代码存在缺陷时会再次导致不同类型的安全问题。
不同的是,在处理前端用户直接输入的数据时一般会接受更多的安全校验,而从memcached中读取的数据则更容易被开发者认为是可信的,或者是已经通过安全校验的,因此更容易导致安全问题。
由此可见,导致的二次安全漏洞类型一般由memcached数据使用的位置(XSS通常称之为sink)的不同而不同,如:
(1)缓存数据未经过滤直接输出可导致XSS;
(2)缓存数据未经过滤代入拼接的SQL注入查询语句可导致SQL注入;
(3)缓存数据存储敏感信息(如:用户名、密码),可以通过读取操作直接泄漏;
(4)缓存数据未经过滤直接通过system()、eval()等函数处理可导致命令执行;
(5)缓存数据未经过滤直接在header()函数中输出,可导致CRLF漏洞(HTTP响应拆分)。
… …
Memcached全版本
Linux:https://www.runoob.com/memcached/memcached-install.html
Windows:https://www.runoob.com/memcached/window-install-memcached.html
启动测试环境:
sudo memcached -p 11211 -m 64m -vv -u root
.\nuclei.exe -u 10.9.75.7
.\afrog.exe -t 10.9.75.7
nmap -p 11211 --script memcached-info 10.9.75.7
telent连接成功后,使用命令stats
返回统计信息例如 PID(进程号)、版本号、连接数等
stats命令字解释及参数介绍
https://www.runoob.com/memcached/memcached-stats.html
nc -vv 10.9.75.7 11211
~~~~~~~
1、配置memcached监听本地回环地址127.0.0.1。
[root@local ~]# vim /etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1" #设置本地为监听
[root@local ~]# /etc/init.d/memcached restart #重启服务
2、当memcached配置为监听内网IP或公网IP时,使用主机防火墙(iptalbes、firewalld等)和网络防火墙对memcached服务端口进行过滤。
3、配置访问控制策略。
4、最小化权限运行。
5、修改默认端口等。