Memcached 未授权访问漏洞复现学习 CVE-2013-7239
时间:2019-12-18
本文章向大家介绍Memcached 未授权访问漏洞复现学习 CVE-2013-7239,主要包括Memcached 未授权访问漏洞复现学习 CVE-2013-7239使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
0x00 漏洞简介
- 漏洞简述Memcached 是一套分布式高速缓存系统。它以 Key – Value 的形式将数据存储在内存中。这些数据通常是会被频繁地应用、读取的。正因为内存中数据的读取速度远远大于硬盘的读取速度所以可以用来加速应用的访问。
- 由于 Memcached 的安全设计缺陷客户端连接 Memcached 服务器后无需认证就可读取、修改服务器缓存内容。
- 影响范围:Memcached 全版本
0x01 环境搭建
测试机:Ubuntu216.04
靶机:Ubuntu16.04
Memcache:v1.4.5
1、安装Memcache服务端
apt-get install memcached
2、启动服务
memcached -d -m 128 -p 11211 -u root
3、查看是否启动了服务
ps -ef | grep memcache
4、安装客户端(可省略)
apt-get install php-memcached
5、重启一下apache服务
service apache2 restart
0x02 漏洞证明
1、netstat -an |more
命令查看端口监听情况
回显0.0.0.0:11211
表示在所有网卡进行监听,存在Memcached未授权访问漏洞。
2、在Ubuntu2输入telnet 192.168.246.130 11211
,连接成功表示漏洞存在
0x03 防御手段
1、配置访问控制。
iptables -A INPUT -p tcp -s 192.168.246.130 --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服务端口进行过滤。
0x04 参考
https://www.freebuf.com/articles/web/207877.html
http://blog.nsfocus.net/memcache-unauthorized-access-exploit/
原文地址:https://www.cnblogs.com/0nc3/p/12061761.html
- Spring Cloud Bus整合RabbitMQ
- 结合Scikit-learn介绍几种常用的特征选择方法(下)
- Spring Cloud Bus之RabbitMQ初窥
- 结合Scikit-learn介绍几种常用的特征选择方法(上)
- 判断图片是否加载完成
- Spring Cloud Config客户端配置细节
- Spring Cloud Config服务端配置细节(二)之加密解密
- Redis3 cluster 集群配置测试
- Spring Cloud Config服务端配置细节(一)
- 分布式配置中心Spring Cloud Config初窥
- Git标签管理
- Docker容器如何共享数据
- Git工作区储藏兼谈分支管理中的一个小问题
- 轻量级容器Docker - 创建nginx容器
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- LinkedList - 61. Rotate List
- LinkedList - 143. Reorder List
- LinkedList - 160. Intersection of Two Linked Lists
- LinkedList - 21. Merge Two Sorted Lists
- LinkedList - 82. Remove Duplicates from Sorted List II
- LinkedList - 203. Remove Linked List Elements
- LinkedList - 83. Remove Duplicates from Sorted List
- LinkedList - 19. Remove Nth Node From End of List
- LinkedList - 92. Reverse Linked List II
- LinkedList - 328. Odd Even Linked List
- LinkedList - 25. Reverse Nodes in k-Group
- LinkedList - 24. Swap Nodes in Pairs
- LinkedList - 141. Linked List Cycle
- LinkedList - 206. Reverse Linked List
- Array - 188. Best Time to Buy and Sell Stock IV