Memcache未授权访问漏洞利用及修复

  • A+
所属分类:安全文章

Memcached是一套分布式的高速缓存系统。它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的。正因为内存中数据的读取远远大于硬盘,因此可以用来加速应用的访问。本文和大家分享的是Memcache中未授权访问漏洞利用及修复相关知识,希望对大家学习Memcache有所帮助。

  漏洞成因:

由于memcached安全设计缺陷,客户端连接memcached服务器后 无需认证就 可读取、修改服务器缓存内容。

漏洞影响:

  除memcached中数据可被直接读取泄漏和恶意修改外,由于memcached中的数据像正常网站用户访问提交变量一样会被后端代码处理,当处理代码存在缺陷时会再次导致不同类型的安全问题。

  不同的是,在处理 前端用户直接输入的数据时一般会接受更多的安全校验,而从memcached中读取的数据则更容易被开发者认为是可信的,或者是已经通过安全校验的,因此更容易导致安全问题。

  由此可见,导致的二次安全漏洞类型一般 由memcached数据使用的位置(XSS通常称之为sink)的不同而不同, 如:

  (1)缓存数据未经过滤直接输出可导致XSS

  (2) 缓存数据 未经过滤代入拼接的SQL注入查询语句可导致SQL注入;

  (3) 缓存数据 存储敏感信息(如:用户名、密码),可以通过读取操作直接泄漏;

  (4) 缓存数据 未经过滤直接通过system()eval()等函数处理可导致命令执行;

  (5) 缓存数据 未经过滤直接在header()函数中输出,可导致CRLF漏洞(HTTP响应拆分)。

  … …

  漏洞利用:

  漏洞的利用根据所造成二次漏洞的不同,可在缓存变量中构造相应的payload

  针对memcached未授权访问漏洞缓存数据的抓取,可使用 go-derper工具。

  注:memcached服务器基本操作及go-derper工具使用方法参见链接。

  漏洞攻击DEMO

  http://niiconsulting.com/checkmate/2013/05/memcache-exploit/


漏洞检测:

  1、登录机器执行netstat -an | more命令查看端口监听情况。回显0.0.0.0:11211表示在所有网卡进行监听,存在memcached 未授权访问漏洞。

  2telnet IP 11211, 或 nc -vv11211,提示连接成功表示漏洞存在(telnet连接成功后是一个黑框,执行Memcached命令stats

Memcache未授权访问漏洞利用及修复

memcache stats命令详解

Memcache未授权访问漏洞利用及修复

Memcache未授权访问漏洞利用及修复


3、使用端口扫描工具nmap进行远程扫描:nmap -sV -p 11211 --script=memcached-info IP

  11211/tcpopen memcached

  | memcached-info:

  | ProcessID 18568

  | Uptime 6950 seconds

  | Servertime SatDec 31 14:16:10 2011

  | Architecture 64 bit

  | UsedCPU (user) 0.172010

  | UsedCPU (system) 0.200012

  | Currentconnections 10

  | Totalconnections 78

  | Maximumconnections 1024

  | TCPPort 11211

  | UDPPort 11211

  |_ Authentication no


Memcache未授权访问漏洞利用及修复

漏洞修复:

  1、配置memcached监听本地回环地址127.0.0.1

  [[email protected] ~]# vim /etc/sysconfig/memcached

  OPTIONS="-l 127.0.0.1" #设置本地为监听

  [[email protected] ~]# /etc/init.d/memcached restart #重启服务

  2、当memcached 配置为监听内网IP或公网IP时, 使用主机防火墙(iptalbes、 firewalld等)和 网络防火墙对memcached服务端口 进行过滤。



参考:http://blog.nsfocus.net/http://blog.csdn.net/qq_32506555/article/details/53581809http://gdd.gd/1072.htmlhttps://www.cnblogs.com/Alight/p/3546400.htmlmemcached 常用命令及使用说明
转载自:https://www.cnblogs.com/SzSec/p/7865229.html

没有专业运营团队,纯个人凭着空闲时间的学习,通过网络搜集与学习整理的资料记录并分享。

 如果觉得文章对你有帮助,请支持下点击右下角“在看”

Memcache未授权访问漏洞利用及修复

本文始发于微信公众号(LemonSec):Memcache未授权访问漏洞利用及修复

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: