SRC挖掘之——某众测多处高危越权

admin 2025年5月19日17:48:14评论7 views字数 4749阅读15分49秒阅读模式

扫码加圈子

获内部资料

SRC挖掘之——某众测多处高危越权
SRC挖掘之——某众测多处高危越权

网络安全领域各种资源,EDUSRC证书站挖掘、红蓝攻防、渗透测试等优质文章,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。加内部圈子,文末有彩蛋(知识星球优惠卷)。

原文链接:https://xz.aliyun.com/news/14078
作者:闲人
SRC挖掘之——某众测多处高危越权
渗透测试流程如下

某 SRC 站点,标准攻击链的综合利用,中级攻击。枚举和信息收集阶段干扰信息不多,但会一度陷入僵局,关键信息的获取方式不算特别初级,有一点点难度。直接知道哪里是入口,你肯定觉得很简单。如果这个入口获取的方式找不到,那这台机器你难以为继,常规打法,但也需要扎实的基本功。涉及到信息收集、js文件利用、脆弱点的分析、社工运用的技巧、swagger接口的测试、开发者习惯的摸索、隐藏接口的寻找,一些红队技巧在文中均有呈现。

0x01 前端基本信息

<1>域名访问

访问域名 bb.aa.net 状态码303,导向到 /aaa/index.html ,而后跳转到/aaa/index/index.html(得留意这个路径,后面做通用资产收集的时候可以派上用场)

SRC挖掘之——某众测多处高危越权
SRC挖掘之——某众测多处高危越权

<2>系统业务判断

从标题判断这是一套学生管理系统,推断系统用户为老师及学生,由此可以简单判断用户名为学生学号或老师工号,以及管理员账号。URL 路径:/aaa/index/index.html#/app

SRC挖掘之——某众测多处高危越权

细节:看起来系统像是某个厂商针对学校出的定制会产品,这个页面中尝试了点击游客是不允许游客访问,那是否会存在某些系统可以通过游客访问的呢?

<3>前端源码信息

源码中有注释,大概率存在二开的可能。同时也从网站底部看到了开发商。

<4>插件 Wappalyzer

vue+elementUI+webpack打包js文件尝试拼接 js.map未发现相关相关泄露,无法反编译获取到方便查看与调试的源码。

SRC挖掘之——某众测多处高危越权

<5>插件 FindSomething / BurpJSLinkFinder

大量路径信息,挑一些 xxxList 的接口访问后发现都提示“请重新登录”,与访问不存在的页面提示相同,看来系统中能看到的一些接口都是需要鉴权措施。

{"msg":"会话过期,请重新登录!","success":false}

0x02 JS 信息、系统模块信息

<1>JS信息(URLFinder / JSFinder)

未获取到有价值信息,只能拿到 js 路径。看起来系统是支持第三方接口进行登录

SRC挖掘之——某众测多处高危越权

<2>历史流量信息(Burp)

bp看历史加载的数据包,初步确定存在a模块、b模块

SRC挖掘之——某众测多处高危越权

<3>模块下各个路径的查找

留意到访问域名后,最终的地址为:/aaa/index/index.html#/ ,推测 nuo4 是加载首页的模块,那么是否还会存在其他模块burp 全局搜索该路径aaa并翻看 js,而后在该js文件中,发现了 aaa 模块的其他控制器

SRC挖掘之——某众测多处高危越权

整理成 url ,尝试访问发现都是需要进行登录https://bb.aa.net/aaa/index/index.html#/https://bb.aa.net/aaa/admin/admin.html#/估计为后台管理界面https://bb.aa.net/aaa/cc/cc.html#/一些对应名称系统的默认页面

SRC挖掘之——某众测多处高危越权

当我访问 admin 页面时,其中会加载到一个接口,响应内容列出了应用列表及什么权限的用户可以访问(权限值使用的为拼音首字母)

SRC挖掘之——某众测多处高危越权

当我访问 admin.html 时,后续历史请求了一个js文件,发现很多路径信息,结合前面系统业务判断及所有应用列表,通过路径名称判断这些路径为所有应用的访问路径,但无价值都需要登陆后才能访问。

SRC挖掘之——某众测多处高危越权

数据梳理:拿到了后台地址(/nuo4/admin/admin.html#/ )、得到了一些参数名、获取到系统所有应用列表、得知各个角色权限可访问哪个应用

0x03 模块一 Swagger接口探测

<1> spring特征的发现

留意到访问模块下的各个页面时,都会请求到一个接口 auth/xxx,并且登录时的接口为(/auth/login/in),其他模块渲染数据时请求的是 auth 模块,所以 auth 模块里似乎包含的是一些公用接口。根据开发者的习惯,尝试访问https://bb.aa.net/auth/index/index.html#/,为spring 白页,接下来看是否存在spring敏感信息泄露。

SRC挖掘之——某众测多处高危越权

<2>Swagger 接口文档(SpringBoot-Scan)

使用工具springboot-scan,针对 auth 模块进行 spring端点扫描,发现接口文档泄露

./SpringBoot-Scan.py -u https://bb.aa.net/auth
SRC挖掘之——某众测多处高危越权

通过页面信息,判断 auth 模块为公共接口,对应很多个控制器,留意到其中还包含一些用户管理相关接口

SRC挖掘之——某众测多处高危越权

<3>接口测试(手工)

1)因为已经有了接口文档,目前可以得知 auth 模块后台接口所有查询参数。思路:(1)测接口是否存在未授权(2)是否存在SQL注入(后续再测减少自己被ban的可能)(2)接口是否能拿一些敏感信息用于后续测试

2)手工测试发现所有能拿敏感信息的接口都有鉴权措施,测试了多数接口发现并未存在SQL注入

SRC挖掘之——某众测多处高危越权

3)特别留意了用户相关接口,发现似乎是遗留的旧接口,也可能是开发环境生产环境的接口。遗憾的是接口同样提示 ”会话过期请重新登录“。例如:给用户分配角色功能竟然是有两个控制器(Role Controller、Zh Controller)

SRC挖掘之——某众测多处高危越权

<4>自动化未授权测试(swagger-exp-knifef4j)

1)接口太多了手工测很麻烦,上工具swagger-exp-knife4j批量测试未授权。扫描结果111个接口可能存在未授权,接口数量太多,可以从接口名称及所需参数,有目的的挑选接口进行访问。(首要目的是测试接口是否未授权,是否拿数据进行后续利用)但要留意参数名,如 xh 参数,应手动填入学号测。

python swagger-exp-knife4j.py -u https://bb.aa.net/auth/v2/api-docs
SRC挖掘之——某众测多处高危越权

结果整理:1、我可以从 /auth/zh/getRole 推测出系统有哪些账号及其对应角色2、我可以从https://bb.aa.net/auth/app/flzb?Authorization=a我可以拿到应用代码 yydm,然后把 yydm 拼接到其他接口https://bb.aa.net/auth/app/view?Authorization=a&yydm=yydm可以获取到一些数据,但无太大价值。

SRC挖掘之——某众测多处高危越权

3、再看看 4条扫描到包含敏感参数的接口,没有实际的敏感参数无太大价值

SRC挖掘之——某众测多处高危越权

现在,我可以知道系统有哪些应用,哪些用户名,用户有哪些权限值,哪些权限值的账号可以访问哪些应用。

0x04 思路梳理

似乎我进入到了一个死胡同,我开始梳理我目前掌握的信息。1、我拥有 auth模块 的swagger接口文档2、swagger-ui 看上去有很多接口,但所有能拿敏感信息的接口都有鉴权措施,得先登录获取 Authorization 凭证才能进一步测试。2、无法通过登录界面忘记密码界面的报错信息判断账号名称,但可以从接口拿到用户名及权限值,也知道哪些权限值的账号可以访问哪些应用。3、常规弱口令行不通。4、系统没有注册功能,新增用户接口需要进行登录。5、重置密码功能不存在逻辑漏洞6、登录功能不能进行逻辑绕过,无法卡到界面让系统加载一些信息。7、后台做了统一异常处理统一返回错误信息,接口尝试SQL注入难度较大

看起来现在我可行的方式有:1、我可以通过系统名称或开发商名称查找相关公开漏洞2、我可以尝试寻找一些证件号号,能让我通过重置密码功能重置登录凭证3、我可以参照开发者的习惯,拼接路径看能否拿到更多模块的接口文档4、端口扫描、burp插件全开配合自动化工具递归进行:目录扫描、漏扫5、我可以强行进行的枚举爆破,但我觉得也不可行,如果系统都可以通过无脑的口令爆破来解决,没有任何价值

0x06 登录凭证的获取

1、系统可能是有统一密码的,我在某社交平台伪装成小学妹,发布了一个帖子,并艾特学校,看评论区的大佬能否提供给我思路,有个铁子告诉了默认密码是身份证后6位,而重置密码也是需要身份证6位,拿不到身份证件号也没用。

SRC挖掘之——某众测多处高危越权

2、幸运的是另外C段的脆弱资产,存在着统一的默认密码。在其个人信息界面,留意到接口请求的参数可控,尝试通过修改参数 id 的值,成功水平越权获取一些敏感信息

0x07 立足点

身份证后六位,直接成功登录某个老旧账号,获得初始立足点。

0x08 未授权访问漏洞

留意到此接口,可以未授权通过多个编码得到数据字典,其中响应的信息有该字典数据有管理员sfz。

SRC挖掘之——某众测多处高危越权接口的功能是可以批量查字典代码创建者的个人信息,可以看到有些字典创建者createSfzjh:null,怎么提取系统所有字典代码dm通杀到其他系统呢,可以考虑批量文本处理。留意到之前有个带着鉴权信息就可以获取系统字典代码,批量提取文本中的 dm 参数值并以逗号隔开。

//结果json格式化jq . trees.txt > trees_json.txt//使用awk grep tr sed等命令预处理数据cat trees_json.txt | awk -F 'dm' '{print $2}'| grep -v 's' | tr -d ' :,"'| grep -v '^$'//数据去重,逗号拼接cat trees_json.txt | awk -F 'dm' '{print $2}'| grep -v 's' | tr -d ' :,"'| grep -v '^$' | sort |uniq | paste -sd ','
SRC挖掘之——某众测多处高危越权

获取到了所有字典代码后,把接口所有dm,拼接到/xxx/xx/getxxx?dms=dm1,dm2,dm3,...,就可以发现可未授权拿相关账号(编辑系统字典权限)的sfz。

SRC挖掘之——某众测多处高危越权

0x09 越权漏洞

加上JWT鉴权信息,从接口文档看能否从一些接口拿数据。

<1> 越权漏洞1(垂直越权):

个人信息查询功能,/xxx/List?xh=xxxxxxxx,直接删掉参数xh,可以拿到全部的个人信息包括 admin 。同类漏洞很多,也不难找。(但这里我留意到一个关键点,这个接口是登录后台界面中没有的功能点,或许是某个高权限的人员才能执行的功能点,此接口权限控制粒度不够精细,导致只要是具有成功的鉴权信息的请求,就能拿数据。)

SRC挖掘之——某众测多处高危越权

<2> 越权漏洞2(垂直越权、权限提升)

留意到当时 Swagger 的两个接口,其中 addRoles 接口似乎是开发忘记删除的接口可以越权提升自己权限。/addRole?jsdm=角色代码(不能越权)/addRoles?jsdm=角色代码(可以越权)

SRC挖掘之——某众测多处高危越权

再次登录,已是超管权限,而后删除自身超管权限并退出系统。

SRC挖掘之——某众测多处高危越权

0x10 同类系统快速批量收集

搜索引擎匹配域名访问时的响应包路径内容,就能精准收集到同类系统。网站vue开发源码无明显特征匹配网站首页body的方式行不通。该漏洞写报告提供修复建议提交SRC平台,并均已修复。

总结

本文以攻击者视角,介绍了前端源码或者接口的相关泄露,可能带来的一些危害。

SRC挖掘之——某众测多处高危越权

1、首先是被动的进行信息收集,了解到系统多数接口是有鉴权措施,从JS信息中搜集到一些有价值得路径,尝试访问后加载到了后台才会加载的某个JS文件。2、留意到系统一些模块的命名,网站为 java 开发,通过访问不存在的接口让其报错,发现了 spring 白页,进而发现了相关接口文档。3、经过社交平台上姐妹们的帮助,得知了系统的默认密码,结合C段脆弱资产的越权漏洞获取到的敏感信息,成功登录某个旧账号。4、进一步进行接口测试,通过其他接口的返回信息综合进行利用。发现了未授权漏洞以及多处垂直越权,完成了权限的提升。

SRC挖掘之——某众测多处高危越权

原文始发于微信公众号(神农Sec):SRC挖掘之——某众测多处高危越权

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月19日17:48:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SRC挖掘之——某众测多处高危越权http://cn-sec.com/archives/4026224.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息