某平台前端“自慰”导致越权

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】
好久没有发公开的漏洞文章了,今天来一发。再对某项目进行渗透测试的时候,发现这个系统前端使用的是AngularJS框架开发的程序,很简单也很简洁。
某平台修改Response body(返回值)导致越权 - AngularJS框架开发
功能还不是特别特别多,但是还算是非常完善,而且界面也非常不错。不过这里面发现,很多东西权限控制的非常到位,什么XSS,什么注入,什么越权基本都没有发现,难道事实真的是这样吗?想了又想,绝对从新仔细分析一下这个程序,注意我只是普通用户的身份。先登录进系统,如下图:
注意图中我用红色画方框的地方,在左侧,有一个后台管理。但是只有一个“CMDB管理”。
这里呢,我再浏览这个网站的时候发现这个网站加载了一些html文件,然后还有一些返回值。如下图:
这里我们暂且先记一下,我们看看别的加载的页面。这里要注意加载这个页面返回的信息呦。一定要留意上图中的 【"role":"USER"】
这里,通过仔细查看,发现又加载了其他的页面,咱们看一下其他页面的源码。
注意我图中画圈的地方。有段html代码是这样婶滴【ng-if="vm.role != 'ADMIN'"】。
通过跟上面我个人的【"role":"USER"】与其他页面的【role != 'ADMIN'】做对比,你是不是也发现了什么??
既然这样咱们是不是可以想办法把自己的USER权限修改成ADMIN,其实这个有点类似于“自慰”,但是咱们且看下面继续分解。
咱们从新刷新一下页面。然后截取数据包,如下图操作(每次都这么修改会特别麻烦,测试时可用Match and Replace来替换):
然后点击上面的“放行”,然后会如下图返回数据包:
修改完后,我们放行,然后再查看页面。如下图:
既然“自慰”成功了,那下面就看看这些功能吧。最后经过测试,很多都是“权限不够”。
注意,我说的很多都是“权限不够”,并不是所有功能都没有权限。最终发现,本来没权限的地方,有很多都有权限了。如下图。能看到所有人的信息(含姓名、电话、工号、邮箱、部门等信息)。
还有一处本来没有权限,经过修改也有权限了(控制告警功能呢,告警、短信等等)。如下图:
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏