DDOS核弹攻击--Memcached放大攻击复现

本文介绍了Memcached DDoS攻击的原理,详细讲解了Memcached服务的工作机制、安装启动、管理存储内容以及UDP漏洞利用。通过攻击步骤展示了如何复现放大攻击,并提供了防御策略,包括访问控制、修改端口、启用URPF和禁用UDP转发功能。
摘要由CSDN通过智能技术生成
情景:当有一个Request过来后,Web服务器交给APP服务器,APP处理并从Database中存取相关数据,但Database存取的花费是相当高昂的。特别是每次都取相同的数据,等于是让数据库每次都在做高耗费的无用功。如果APP拿到第一次数据并存到内存里,下次读取时直接从内存里读取,而不用麻烦数据库,并且从内存取数据必然要比从数据库媒介取快很多倍,反而提升了应用程序的性能。Memcached应运而生


一、什么是Memcached?

        Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。


二、Memcached服务原理:

        Memcache服务器工作机制是在内存中开辟一块空间,然后建立一个基于一个存储键/值对的hashmap。客户端通过对key的哈希算法确定键值对所处的服务器位置,进行查询请求,让它来查询。如果请求的资源是第一次加载被访问,则将在服务器存储(key,value)对和请求的资源并回复,在以后的请求中只需要匹配key即可回复。


三、Memcached服务器的安装和启动

        安装:在Linux系统中安装:sudo apt-get install memcached

        启动:(1)service memcached start

                (2)memcached [options] 方式启动

                                          options:-p TCP监听的端口,默认11211
                                                          -U UDP监听的端口,-U 0 禁用UDP服务,默认11211
                                                          -l 监听的ip地址, 默认是ADDR_ANY,所有的ip都可以访问
                                                          -d start 启动memcached服务
                                                          -d restart 重起memcached服务
                                                          -d stop|shutdown 关闭正在运行的memcached服务
                                                          -d install 安装memcached服务
                                                          -d uninstall 卸载memcached服务
                                                          -u 以的身份运行 (仅在以root运行的时候有效)
                                                          -m 最大内存使用,单位MB。默认64MB
                                                          -M 内存耗尽时返回错误,而不是删除项
                                                          -c 最大同时连接数,默认是1024
                                                          -f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
                                                          -h 显示帮助

        注意事项:该漏洞是利用UDP转发数据,当你开启服务时最好用netstat -pantu | grep 11211 查看11211端口上是否有两个进程服务一个UDP另一个TCP的服务。在实验中经常发现用service memcached stop启动时,默认开启两条TCP服务,实验不能成功,建议用memcached -p 11211 -U 11211 开启服务,如果不能重复几次。


四、管理Memcached服务器存储内容

        (1)通过登陆服务器的方式。当你启动Memcached服务器后,可以通过客户端链接端口的方式来访问:telnet 127.0.0.1 11211,这里有一些服务器命令可以帮助你操作memcached服务器存储的(key,value)对以及清空服务器中的缓存数据。

                                get     返回Key对应的Value值
                                add      添加一个Key值,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值