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

2023-11-10

memcache是国外社区网站Live Journal的开发团队开发的高性能的分布式内存缓存服务器。

一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高扩展性。

memcache的默认端口是11211,不需要密码即可访问,黑客直接访问即可获取数据库中所有信息,造成严重的信息泄露。

漏洞验证:

利用Telnet探测目标11211端口

telnet XX.XX.XX.XX 11211

显示连接成功后,输入stats

stats //查看memcache服务状态

读出缓存状态

stats items //查看所有items
stats cachedump 39 0 //获得缓存key

get :state:264861539228401373:261588 //通过key读取相应value ,获得实际缓存内容,造成敏感信息泄露


memcached是一套分布式的高速缓存系统。它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的。正因为内存中数据的读取远远大于硬盘,因此可以用来加速应用的访问。

Memcache安装

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

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

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

漏洞成因:

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

漏洞影响:

除memcached中数据可被直接读取泄漏和恶意修改外,由于memcached中的数据像正常网站用户访问提交变量一样会被后端代码处理,当处理代码存在缺陷时会再次导致不同类型的安全问题。
 不同的是,在处理前端用户直接输入的数据时一般会接受更多的安全校验,而从memcached中读取的数据则更容易被开发者认为是可信的,或者是已经通过安全校验的,因此更容易导致安全问题。

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

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

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

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

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

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

 … …

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")

漏洞修复:

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服务端口进行过滤。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MEMCACHE未授权访问漏洞利用及修复 的相关文章

  • 高防服务器什么意思

    高防服务器什么意思 为什么要用高防服务器 小编为您整理发布高防服务器什么意思的解读 高防服务器是指具备较高防御能力的服务器 能够抵御DDoS CC等网络攻击 高防服务器通常用于保护游戏 APP 金融 电商等业务 这些领域因为其业务特性 容易
  • SAP ERP系统是什么?SAP好用吗?

    A公司是一家传统制造企业 公司曾先后使用过数个管理软件系统 但各部门使用的软件都是单独功能 导致企业日常管理中数据流与信息流相对独立 形成了 信息孤岛 随着公司近年业务规模的快速发展以及客户数量的迅速增加 企业原有的信息系统在销售预测及生产
  • 服务器中E5和I9的区别是什么,如何选择合适的配置

    随着科技的进步 服务器处理器的性能在不断攀升 其中 Intel的E5和I9系列处理器在业界具有广泛的影响力 而当我们在选择服务器的时候会有各种各样的配置让我们眼花缭乱不知道该怎么去选择 下面我跟大家分享一下E5跟I9有什么区别 方便我们在选
  • 网络安全行业热门认证证书合集

    网络安全认证证书 就和学历一样是敲门砖 拿到了可以用不到 但不能没有 技术大牛可以没有证书 但普通人不能没有 1 初级入门 就像学历在职场上展示一个人的基本素养一样 网络安全认证证书可以展示一个人在网络安全领域具备的基本知识和技能 它为初学
  • play框架2.0支持memcached吗?

    我阅读了 Play Framework 2 0 文档 但没有任何关于 memcached 的文字 如何在 Play Framework 2 0 中使用 memcached 为什么在2 0中消失 在1 x中 这很容易 正如评论中已经指出的 默
  • Memcache 打开后 Magento 会话消失

    我们遇到一个问题 当我们启用 memcache 在 nginx Web 服务器上 时 会话会从 Magento 1 10 中随机消失 我们在 Magento 中设置 cookie 过期时间似乎并不重要 由于某种原因 会话在一小时内的任何随机
  • 如何获取node.js中的所有memcached数据?

    首先 我的目的是当用户关闭浏览器时用户会话数据应该过期 现在的问题是 我的服务器需要 memcached 才能正常工作 因此 我想从已关闭浏览器的 memcached 中删除该特定用户会话 我不想清除所有内存缓存 以便剩余用户的会话仍然存在
  • PHP 扩展 (memcache|memcached) 未显示在 phpinfo() 中,但显示在 php -m 和 php -i 中?

    当我使用时 我将两个模块列为已安装 配置 php m 或者如果我使用 php i 但是当我使用时 m new Memcache or m new Memcache or m new Memcached or m new Memcached
  • 通过 sql 表中的 100,000 条记录进行通配符搜索的最佳优化技术是什么

    我正在开发 ASP NET MVC 应用程序 该应用程序有 200 个用户使用 这些 用户不断地 每 5 分钟 从 100 000 个项目的列表中搜索一个项目 该列表每个月都会增加 1 2 此 100 000 个项目的列表存储在 SQL S
  • GAE:memcache:在多个应用程序实例中是否相同

    我有一个非常基本的问题 在 GAE 中 如果我使用 memcache 来存储第一次从数据库检索到的一些数据 如果该数据在缓存中保留大约 2 天 那么所述应用程序的所有实例都会得到 查看 它并从缓存中检索它 或者每个应用程序实例的缓存是独立的
  • 如何返回 Google App Engine 中的所有 memcached 值?

    我想使用我的 python 应用程序引擎内存缓存中的所有数据 我事先不知道钥匙 我如何获取所有数据 唯一读过的功能 http code google com appengine docs python memcache functions
  • Jbuilder Rails 缓存速度较慢

    我尝试将缓存与集合一起使用 使用多种解决方案 问题是每当我尝试缓存时 响应都会变慢 考虑以下集合示例 该集合为其中的每个项目 大约 25 个项目 呈现 2 个部分 json data do json array organizations
  • 从 Django 缓存中删除特定项目?

    我正在使用站点范围的缓存内存缓存 http en wikipedia org wiki Memcached作为后端 当底层数据库对象更改时 我想使缓存中的页面无效 如果页面名称发生更改 那么我将使整个缓存无效 因为它会影响每个页面上的导航
  • Memcache 不会刷新或清除内存

    我一直在尝试清除我的内存缓存 因为我注意到使用时存储占用了近 30 的服务器内存ps aux 所以我运行了以下 php 代码 memcache new Memcache memcache gt connect localhost 11211
  • NoSQL(MongoDB)与 Lucene(或 Solr)作为数据库[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 随着基于文档数据库的 NoSQL 运动的发展 我最近关注了 MongoDB 我注意到如何将项目视为 文档 就像 Lucene 以及 Solr 用
  • 在 Spring Boot 中重新加载/刷新缓存

    我正在使用 Spring Boot 对于缓存 我使用 Ehcache 到目前为止一切正常 但现在我必须重新加载 刷新 那么我该如何执行此操作 以便我的应用程序不会出现任何停机时间 我在Spring Ehcache中尝试了很多方法 但它不起作
  • MVC 框架中的缓存策略?

    我编写了自己的小型 PHP MVC 框架 现在正在探索 PHP MVC 框架中的缓存策略 我正在考虑可以缓存什么 在哪里以及如何缓存 我的框架是简单的MVC框架 我有前端控制器 它启动应用程序 注册类自动加载 设置 php 运行时指令 最后
  • 在 Django/python 中,如何将内存缓存设置为无限时间?

    cache set key value 9999999 但这并不是无限的时间 def get memcache timeout self timeout Memcached deals with long gt 30 days timeou
  • Spymemcached-Memcached/Membase 故障转移

    平台 64位Windows操作系统 spymemcached 2 7 3 jar J2EE 我们想使用两个 memcache membase 服务器来实现缓存解决方案 我们希望为每个 memcache membase 服务器分配 1 GB
  • memcache、redis 和 ehcache 作为分布式缓存框架的比较 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要做出的决定之一是在我的系统中使用什么缓存框架 有这么多可供选择 我目前正在研究 redis ehcache 和 memcached

随机推荐

  • 爬虫简单语法

    一 requests 适用于爬取静态网页 1 get requests get 参数 参数可以是 接收一个网址 url 在请求某个查询时 在通用网址后 query 查询的内容 比如 在搜狗引擎中 搜索 content input 请输入你要
  • 1、基于ARM平台Golang简单Demo:交叉编译

    arm平台为M3352核心板 编译环境为Ubuntu14 04 目标 在Ubuntu环境编译Go代码 在arm平台运行 每分钟打印当前时间 源代码文件名 go arm cross build go package main import f
  • PyTorch入门(三)PyTorch常用操作

    PyTorch常用操作 bilinear kernel bilinear kernel def bilinear kernel in channels out channels kernel size return a bilinear k
  • STM32——SysTick timer(STK)----系统定时器

    系统定时器是属于Cortex内核中的一个外设 所有Cortex M内核的单片机都有这个定时器 Systick定时器常用来做延时 或者实时系统的心跳时钟 这样可以节省MCU资源 不用浪费一个定时器 它是一个24位 向下递减的计数器 由以下四个
  • elastic-job 执行原理

    Elastic Job执行原理 1 如果只有一个分片的情况下 就是和原生的quartz一样的 就是所有的任务都在一台机器上面执行 2 如果有两个分片的情况下 然后5个job在两台机器上面执行 机器 machine1 machine2 job
  • 1896-2021历届奥运会奖牌榜动态排序(Matplotlib图表动画)

    摘 要 在制作动态排序动画之前 我们看一下数据的整理情况 a 对第1 种大部分数据的情况 先爬取下来 输出到excel 1 b 对第2 种小部分数据的情况 也先爬取下来 输出到另一个excel 2 c 对第3 种个别的 还有第31 32届的
  • 合适新手入门的串口屏学习分享

    串口屏学习分享 一 串口屏简单介绍 二 编辑界面的详细介绍 三 实战演练 制作串口屏键盘 1 准备工作 2 开始 四 总结 一 串口屏简单介绍 串口是我们在学习编程 学习单片机时经常需要的 本人就是在学习32单片机时需要用到 所以才深入了解
  • 计算机怎么消除用户密码,电脑开机设置了密码要怎么删除

    很多人的电脑都设置了开机密码 但每次开机都要输入也会觉得麻烦 怎么删除开机密码呢 下面由小编为大家整理了的方法步骤 希望对大家有帮助 电脑删除开机密码的方法和步骤如下 一 如果记得自己设置的密码 进行以下操作 1打开 我的电脑 在左则找到
  • Android常见的分辨率

    1 1 手机常见分辨率 4 3 VGA 640 480 Video Graphics Array QVGA 320 240 Quarter VGA HVGA 480 320 Half size VGA SVGA 800 600 Super
  • 线段检测M-LSD 已开源

    其中 M LSD tiny最快能以56 8FPS和48 6FPS的速度在手机上实时运行 没错 现在AI在手机上给家具直线描边的速度 可能比你还快 网页版在线demo 为了方便效果展示 作者们还推出了一个网页版demo 基于Python的fl
  • unity安卓平台多摄像机显示黑屏问题

    问题 用Unity2019 2 0打包安卓平台的项目 在多摄像机显示的时候 老是会只渲染最顶层的摄像机 低渲染层级的摄像机不显示 解决方案 我先升级了Android SDK的版本 API版本升级到了29 然后把项目打包质量降低 然后打包 摄
  • openssl安装与使用

    文章目录 1 OpenSSL简介 2 OpenSSL安装 3 加密技术介绍 4 openssl 命令 4 1摘要命令 4 2对称加密命令 4 3非对称加密命令 4 3 1生成私钥 4 3 2提取公钥 4 3 3利用公钥加密 私钥解密数据 4
  • ECCV 2020《Linguistic Structure Guided Context Modeling for Referring Image Segmentation》论文笔记

    目录 简介 动机 贡献 方法 实验 简介 本文出自北航刘偲老师colab 使用语言结构引导上下文建模 用于Referring Image Segmentation 下载链接 动机 解决Referring Image Segmentation
  • docker-compose 运行hadoop

    参考网址 https github com big data europe docker hadoop 下载hadoop镜像 可以在github上自己手动构建hadoop镜像 也可以从dockerhup上下载 dockerhup上已经与该g
  • C语言注释风格(函数、功能、输入、输出、返回)

    C语言编程规范 注释 规则 1 一般情况下 源程序有效注释量必须在20 以上 说明 注释的原则是有助于对程序的阅读理解 在该加的地方都加了 注释不宜太多也不能太少 注释语言必须准确 易懂 简洁 2 说明性文件 如头文件 h文件 inc文件
  • yolov5 FPN 与 PAN的结构与作用

    在卷积神经网络过程中 网络层数越深 目标的特征信息就越强 模型对目标的预测就更好 但同时也会使得目标的位置信息越来越弱 并且在不断的卷积过程中 对小目标的信息容易造成损失 因此 需要进行不同尺度的预测 YOLOv5 采用 FPN 和 PAN
  • adamax参数_Adamax优化器

    Adamax是Adam的一种变体 此方法对学习率的上限提供了一个更简单的范围 更多详细的基本内容 请参照词条Adam 在Adam中 单个权重的更新规则是将其梯度与当前和过去梯度的L 2范数 标量 成反比例缩放 而作者又将基于L 2范数的更新
  • Linux提权备忘录

    如果不是因为真的喜欢你 我纠缠你干嘛 我又何必那么卑微 那么不堪 甚至不停修改自己的底线 到最后变得一文不值 网易云热评 一 判断是否为虚拟机 cat proc scsi scsi dmesg grep i vir w who 查询目前登录
  • Webpack5资源配置(三)

    总述 wepack资源配置了四类资源加载除了js以外的配置资源 分别为asset recource资源 asset inline资源 asset source资源 asset通用资源类型 接下来 将配合前期webpack学习 系统的对以上四
  • MEMCACHE未授权访问漏洞利用及修复

    memcache是国外社区网站Live Journal的开发团队开发的高性能的分布式内存缓存服务器 一般的使用目的是 通过缓存数据库查询结果 减少数据库访问次数 以提高动态Web应用的速度 提高扩展性 memcache的默认端口是11211