渗透实战|某若依框架的接口测试

admin 2025年1月22日10:01:27评论11 views字数 2070阅读6分54秒阅读模式

一.思路unsetunset

bash 信息收集--接口FUZZ--H5页面--逻辑缺陷--默认口令--后台权限

unsetunset二.信息收集unsetunset

给定目标进行测试,针对资产进行信息收集,根据网站ico和默认的接口路径判断为若依二开的系统

渗透实战|某若依框架的接口测试

类似若依这种前后端分离的系统,可以尝试接口fuzz、利用逻辑缺陷漏洞尝试获取后台的权限 常见的接口越权的思路:

微信小程序前台越权后台管理员接口、app前台越权app后台管理员接口、web普通用户越权后台管理员接口……

基本上常见的就这几种,以上逻辑缺陷漏洞利用起来需要大量的信息收集,譬如根据JavaScript代码找接口,通过反编译微信小程序找API信息、通过旁站找接口信息等等。通常接口做了鉴权之后,就需要信息收集获取authorization或者Token等,否则接口测试几乎都是401。难点在于寻找API接口信息以及token,有了这两个之后,就可以尝试利用普通用户水平越权其它用户信息或者垂直越权管理员信息等等。

若依框架常规寻找接口的方式:xxx为接口路径 /xxx/v2/api-docs /xxx/v3/api-docs /xxx/swagger-resources;/xxx/v2/api-docs?group= /xxx/doc.html /xxx/swagger-ui/index.html /xxx/swagger-ui.html /xxx/druid/index.html(若依的druid中的默认口令,登录之后在url处也可看到部分API信息)

渗透实战|某若依框架的接口测试
渗透实战|某若依框架的接口测试

找到接口文档可以尝试拼接利用,也可以继续寻找JavaScript代码中存在的api接口路径

渗透实战|某若依框架的接口测试

unsetunset三.接口FUZZunsetunset

收集到目标系统的api接口信息之后,尝试进行接口fuzz,在接口较多的情况下建议利用bp或者yakit设置低线程之后开始fuzz,之前遇到过某些开发商针对api接口信息传参不严谨,导致了query查询接口未分页或者分页参数不准确会返回数据库中所有对应数据,导致页面响应时间过长从而导致系统崩溃。

渗透实战|某若依框架的接口测试

使用bp进行接口fuzz的过程中,发现了有个http响应为302的接口,查看response发现是一个若依的H5页面

H5页面有一个登录框,提示输入手机号即可登录,无需验证码等其它验证方式

渗透实战|某若依框架的接口测试
渗透实战|某若依框架的接口测试

输入任意手机号登录之后可获取token值,一眼jwt鉴权。可以理解为该H5页面是系统的web前台页面,可以尝试利用前台登录普通用户的token值尝试获取管理员后台接口信息

渗透实战|某若依框架的接口测试

根据/v2/api-docs以及doc.html和JavaScript代码中获取到的敏感信息进行接口fuzz 常见的接口分页查询方式:get型或者post型尝试即可,接口返回中有的带有提示某参数不存在什么的 /pageSize=10&pageNum=1 {"current":1,"size":10} {"page":1,"size":10} {"pageNo":10,"size":1} …… 更多的传参可以通过F12查看系统数据交互传参 尝试将获取到的token与api信息进行利用,获取到数十条个人姓名、登录用户名、手机号码等信息

渗透实战|某若依框架的接口测试

尝试前台越权后台user/list接口,提示403,大概率做了接口权限分离

渗透实战|某若依框架的接口测试

遇到这种情况可以尝试测试其它接口,很多二开的系统接口路径有很多,一个接口做了鉴权不代表其它的接口也做了鉴权,遇到过很多系统做了统一鉴权的、也遇到过很多系统接口权限分离做了,但只有部分接口做了权限分离、部分接口未作权限分离的。这个时候利用信息收集获取到的接口即可获取到众多敏感信息。

unsetunset四.默认口令&接口组合拳unsetunset

通过登录接口一获取到了认证authorization,通过接口二获取到了数十条登录用户名信息(该系统若依后台的admin默认口令不存在且后台部分接口做了权限验证) 在druid中的url发现了接口三:初始密码接口

渗透实战|某若依框架的接口测试

通过接口一和接口三组合获取系统初始密码,初始密码较为复杂,满足复杂密码的条件:大小写字母、数字、特殊符号且大于8位的组合强口令

渗透实战|某若依框架的接口测试

通过接口二获取到的数十条用户名尝试默认口令登录,登录成功之后,后台权限很低,只有一个菜单权限,没有后台管理之类的权限

渗透实战|某若依框架的接口测试

通过后台f12,查看系统的交互情况,获取到了一条关于审批信息的接口,其中接口返回的数据中有管理员字样,管理员不是常规的admin 而是中文名称 尝试以默认口令登录利用,获取到了管理员权限。

渗透实战|某若依框架的接口测试

unsetunset五.总结unsetunset

从信息收集API接口信息获取到前台,前台登录接口一获取到jwt认证、druid弱口令在url找到了系统初始密码接口二,通过接口文档和JavaScript代码获取到接口三、使用接口一和接口三组合获取到了后台包括登录用户名名在内的部分用户信息、使用接口二和接口三组合以普通用户登录了后台,进入普通用户后台发现了接口四,接口四组合接口二成功以管理员身份登录后台。

原文始发于微信公众号(藏剑安全):渗透实战|某若依框架的接口测试

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月22日10:01:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透实战|某若依框架的接口测试https://cn-sec.com/archives/3650296.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息