开局一个登录口
对页面进行目录 fuzz 发现 /ct/account.html 页面存在 打开后发现有个添加账户的功能,点击后竟直接跳转到了系统后台首页,算是绕过登录 对添加账户进行抓包分析,可以发现是 POST 请求的 API 接口,分析后此接口用来生成用户的 token,图中可以看到生成的 token 为 admin 查看页面源代码可以看到 将跳转的 URL 复制下来,分析后可以看到 xtoken 的值等于 API 生成的 token 值,此处就在想会不会存在任意用户登录? URI 如下: http://10.0.0.1:9999/cg/#/login?client=client_guarantee&xtoken=asIcWAwFI19L3B-Vy2clxxxxxxxxxxxxxxx&redirect=EXPN_FUND_ADMT%2FEXPN_FUND_ADMT0004
尝试生成其他用户的 token,因在后台发现存在 id 为 mengxufei 的用户,这里就以 mengxufei 为例,可以成功生成 token 将生成的 token 复制到 URL 的 xtoken 里,可以成功登录 此时,burp 被动扫描传来捷报,扫描到数个 api 接口的 swagger 文档 直接访问发现 403,需要鉴权 直接访问发现 403,需要鉴权 直接访问发现 403,需要鉴权 于是顺手探测 Springboot 的相关漏洞,但只存在端点泄露,并无 heapdump 和 env 通过 swagger 发现某接口存在附件下载的功能,将 filepath 修改为 ../../../etc/shadow 发现可以成功实现任意文件读取 通过读取 root 目录下的 .bash_history 文件可以看到编辑过 application-mysql.yml 文件 通过构造路径读取此文件,发现数据库以及 redis 等敏感信息泄露 以上的打点已经用了很长时间,但始终无法获取到权限,不甘放弃于是准备阅读一下 js 文件,在 app.js 里发现存在上传图片的功能 利用 burp 构造上传数据包,可以发现上传 txt 后缀的文件,但是访问后不解析,包括 jsp 文件 后来尝试了各个 swagger 的上传接口,最后结果都是为不解析,跨目录也尝试过但也不行。 后来重新看了一下添加账户的功能,发现此接口同时也存在信息泄露,通过抓包可以看到用户的密码被写到了请求包里,加密是 AES day2:第二天在之前进入的后台系统里过一遍功能,结果通过里面的某项功能跳转到了另一个系统,路径为 /x_desktop/,不过此系统需要账号密码,因之前在后台发现了一个 sql 注入,可以 dump 之前系统的用户和密码,准备来撞库一波 经过撞库发现并未成功,后来看了下源代码,发现此系统前端源码包含特征o2oa,于是去百度搜索官方文档找账户密码 默认密码登录成功 紧接着利用公开的漏洞打一波,收获得 rce 一枚 反弹 shell 成功,拿下 root 权限
|