记一次通过供应链测试系统拿下靶标的经过

admin 2025年1月19日20:35:27评论8 views字数 872阅读2分54秒阅读模式
 
01
发现目标

某次HW发现靶标站点如下厚码):

记一次通过供应链测试系统拿下靶标的经过

登录抓包返回包未作模糊处理,遍历用户名后未发现正确的用户名尝试爆破无果

记一次通过供应链测试系统拿下靶标的经过
02
搜索相同资产

转变思路,鹰图搜索资产:

记一次通过供应链测试系统拿下靶标的经过

在开发商的测试系统发现了Shiro反序列化漏洞:

记一次通过供应链测试系统拿下靶标的经过
03
开始审计

可惜在靶标站点改了密钥,没有发现漏洞。下载源码进行审计,但是WEB—INF里面并没有发现后端代码

记一次通过供应链测试系统拿下靶标的经过

后续发现接口是写在jar包导入lib进行调用:

记一次通过供应链测试系统拿下靶标的经过

反编译jar包,那么如何确定哪个jar包是我们要的后端接口呢,只需要搜索我们已知的接口即可,比如我们的登录接口login_login我们搜索该接口字段,最终在xxx-cms的jar包中发现存在login_login路由:

记一次通过供应链测试系统拿下靶标的经过

先尝试寻找可以Getshell的接口,发现在PicturesController.javaVideoController.javasave接口存在任意文件上传,但是均未返回上传路径

记一次通过供应链测试系统拿下靶标的经过

PicturesController.java接口任意文件上传对文件名采取了32位uuid重命名处理在没有返回上传路径的情况下,很难利用;VideoController.java接口一开始以为PicturesController接口代码一样,都做了uuid处理,于是找可以读取文件列表的接口看看能不能返回上传路径,后面发现没有处理文件名,才确定这个后台文件上传可以利用。(审代码还是要细心呀

记一次通过供应链测试系统拿下靶标的经过
记一次通过供应链测试系统拿下靶标的经过

因为这个接口也没有进行权限限制,所以现在只差一个任意权限弱口令进入后台进行文件上传:

读取测试系统数据库看看默认密码,结果发现密码是加密存储的,加密方式为sha-1,以用户名为原文,密码为盐值。

记一次通过供应链测试系统拿下靶标的经过

尝试解密xxxxx账号的密码,失败。

记一次通过供应链测试系统拿下靶标的经过

那么再尝试用测试系统的用户名爆破靶标,失败

在离结束攻击还有1个小时的时候,使用工号+工号的形式,终于爆破出来一些弱口令登录获取token进行发包:

记一次通过供应链测试系统拿下靶标的经过

成功获取Shell

记一次通过供应链测试系统拿下靶标的经过

一次比较简单的通过供应商的测试系统来发现靶标漏洞最终获取靶标权限的案例了。

原文始发于微信公众号(Sec探索者):【实战案例】记一次通过供应链测试系统拿下靶标的经过

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

发表评论

匿名网友 填写信息