Memcache未授权访问漏洞

  Memcached 分布式缓存系统,默认的 11211 端口不需要密码即可访问,黑客直接访问即可获取数据库中所有信息,造成严重的信息泄露。

0X00 Memcache安装

  1. 下载Mencache的windows稳定版,解压放某个盘下面

  2、在cmd命令界面)下输入 'memcached.exe -d install' 进行安装

  3、 启动 memcached.exe -d start。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

0x01 漏洞验证

telnet 10.9.9.120

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

# stats  //查看memcache 服务状态
# stats items  //查看所有items
# stats cachedump 32 0  //获得缓存key
# get :state:264861539228401373:261588   //通过key读取相应value ,获得实际缓存内容,造成敏感信息泄露

0x02 Python未授权访问脚本

 

#! /usr/bin/env python
# _*_  coding:utf-8 _*_
def Memcache_check(ip, port=11211, timeout=5):
    try:
        socket.setdefaulttimeout(timeout)
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((ip, int(port)))
        s.send("stats\r\n")
        result = s.recv(1024)
        if "STAT version" in result:
            print '[+] Memcache Unauthorized: ' +ip+':'+str(port)
    except Exception, e:
        pass
if __name__ == '__main__':
    Elasticsearch_check("127.0.0.1")                        

0x03 修复方案:

因memcache无权限控制功能,所以需要用户对访问来源进行限制。

方案一:

  如果memcache没有在外网开放的必要,可在memcached启动的时候指定绑定的ip地址为 127.0.0.1。例如:

方案二:(注意:请谨慎配置iptables规则)

  如果memcache服务需要对外提供服务,则可以通过iptables进行访问控制,下面是只允许本机访问:

上述规则的意思是只允许192.168.0.2这个ip对11211端口进行访问。

 

参考链接:

Windows下的Memcache安装  http://kimi.it/258.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值