记一次实战越权案列

admin 2024年1月18日11:27:20评论38 views字数 1604阅读5分20秒阅读模式
免则声明:本公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权转载和其他公众号白名单转载,如需转载,联系作者开白。

文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

0X01.前言

本文介绍平时挖掘专属src的一个比较有意思的案列,希望可以帮到各位赚大钱哈哈,当然漏洞已经修复,所以发出来给各位师傅学习下思路。

0X02.修改接口名字越权

相信很多师傅在挖掘越权SRC的时候就喜欢搞搞id遍历啥的,这种套路我就不讲了,今天讲点新的,修改接口名字,没错,不是后面的参数,下面开始本次的挖掘实战讲解。

1.一般的越权都是测试后台的接口逻辑,所以我们肯定是要有账号啦,本次测试的网站是可以注册的,废话不多说直接注册2个账号啦,这里我就把账号名字叫为test1和test2

进入后台找找可以获取数据的接口,找到一个可以创建项目的接口,创建一下数据,然后看看接口。

记一次实战越权案列

这里我们看到有个getById?id=,熟悉越权的师傅肯定在想这里可能有越权,但是经过我的测试,这里不存在越权,test1和test2不能互相获取数据

记一次实战越权案列

接着放包,看看有没有意外的惊喜,不出意外的话就要出意外了,这里来到第二个接口getListForPager?filter[projectId]=

记一次实战越权案列

将这个接口放到repertert中研究研究,最开始就是利用两个测试账号不同的projectId测试,但是不行,虽然提示的success,但是没有数据,这里我就比较疑惑了,因为站点其他地方不能越权的话都是提示的会话未登录,也就是权限不足,这里提示的空。。。

记一次实战越权案列

根据以往的经验,之前看过国外的一些漏洞报告,提到过把[,/等接口名字中的这些特殊参数删除可能会得到好东西,于是我尝试将filters%5BprojectId%5D,%5D编码就是],我把它直接删除,如下就获得了这个接口下的全部数据,其中包括上传的文件路径,id,项目的名字等,但是没有我想要的用户数据,于是我想着时不时可以利用文件下载功能将其他人的文件下下来。

记一次实战越权案列

这里我找下载接口直接就是在我申报的测试项目中添加,然后下载我申报的文件获取下载接口

记一次实战越权案列

然后这里面的fileID在刚才泄露的接口中有非常多,我随便搞一个拿来下载,可惜了,下载接口做了权限校验,提示会话未登录,可恶啊,要是接口不能拿来利用获取信息,那其实用处不大,直接高危变中危,中危变低危哈哈哈哈

记一次实战越权案列

本来打算放弃了,但是想着不能这么简单就轻言放弃,作为一个挖洞人,怎么能够停止脚步?越是我继续尝试寻找接口,在寻找的第二天,终于让我逮住了哈哈,我找到两个个可以越权的接口,虽然这连个个接口都不能越权获取数据,但是没有提示未登录啥的,就是这个/reviewEnergyDes/getByprojectId?projectId=和/reviewMaininfo/getById?id=

记一次实战越权案列

记一次实战越权案列

拿到这个东西getByprojectId?projectId=,我就开始玩骚操作了,我把/reviewMaininfo/getById?id=这个后面的getByID?id=直接换成getByprojectId?projectId=也就是组合成 /reviewMaininfo/getByProjectId?projectId=xxxx,没想到直接就获取到数据了,这个reviewMaininfo里包含有用户名字以及电话号码等信息,哈哈哈哈而且是明文的,这样结合我之前获取到的全部projectId信息,这不就妥妥的高危了吗。

记一次实战越权案列

起飞,哈哈拿下咯。

0X03.经验总结

挖洞靠的是细心,这里的越权主要两个思路,一个是删除接口中特殊字符,第二个就是替换获取数据的接口到其他接口,师傅们之后遇到可以自己尝试会有意想不到的惊喜哦。

原文始发于微信公众号(渗透测试研究中心):记一次实战越权案列

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月18日11:27:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次实战越权案列https://cn-sec.com/archives/2405076.html

发表评论

匿名网友 填写信息