企业管理类系统常见漏洞挖掘指北

1►
前言
在银行、证券、金融等行业,普通存在类似erp的面向企业侧的各种管理、采购、供应商等等系统,本文总结梳理该类系统特有的一些常见漏洞。
该类系统的常见功能如下

2►
常见漏洞
短信伪造
常见于注册、添加员工、各类短信通知功能处,由于短信内容中包含有企业名称、组织(部门)名称等等可控的字段,且可以指定手机号导致。测试时观察短信中的可控字段并对其修改。
注册处
将用户名填写为恶意内容,填写手机号获取验证码


添加员工处
先将个人用户名称改为恶意内容,再新增一个用户,手机号填写为受害者的


各类短信通知处
修改项目名称、组织名称等修改为恶意内容,新增人员-发送短信

审核绕过
由于此类系统功能较多,开发为了方便没有对登录后的系统接口校验账号的审核状态,而是在登录时新增某一个请求校验审核状态,依据这个请求返回值的让前端进行跳转到无功能的页面或者是认证后的页面;或是注册时候存在测试、隐藏的账号类型,可以手动修改/添加status、type、accounttype等字段,导致可以绕过审核
前端控制绕过
可以采取修改返回包渲染出功能界面或者是寻找js中的path直达功能页面
登录页面显示如下

分析js,修改判断账号是否审核通过的接口返回值,设置好自动替换规则

重新登录

注册账号类型绕过
提交注册时,抓包,观察修改参数

登录查询,直接是通过审核状态

实名认证爆破
由于注册企业往往需要法人身份认证,需要姓名+身份证正确才可以提交注册,此类接口往往是需要付费的三方接口,当校验姓名+身份证的接口没有设置验证码或是必要的频次控制时,导致身份信息爆破、资源消耗等问题


垂直越权
由于企业管理类系统存在较多功能,权限划分的也很细,经常会出现垂直越权漏洞,例如员工/低权限账号可以访问管理员以及其他高权限角色被授权访问的接口。
登录多个权限不同的账号,抓包,互相替换认证信息再去访问各个功能数据包即可验证。
权限提升
由于企业管理类系统存在较多功能,权限划分的也很细,导致低权限/权限有限账号通过逻辑漏洞给自己提权
常见于账号信息保存、添加账号(添加一个账号权限比自己高的账号)处。修改或者手动fuzz添加报文中的role、roleid、account_type、types等代表账号权限/账号功能组的字段实现权限提升
修改自身账号权限
登录子账号

进入信息编辑页面,点击保存,抓包
修改数据包的account_type的值(可以先登录主账号点击保存观察其account_type的值)发包

再登录时,发现子账号已经变为主账号权限
新增高权限账号

登录权限较低的子账号,用户管理-添加账号

勾选上可选的功能抓包保存

发现通过不同的id对于不同的功能,手动加上1000-1200的字段放入数据包发送
登录添加的账号,已经拥有所有权限

权限回收不及时
在高权限账号对某个账号进行降权、禁用等操作后,由于目标账号处于在线状态没有及时更新权限,导致其在登录态下仍然执行操作,甚至是重新给自己提升权限等等,可用于权限维持。
例如a账号为管理员权限,b账号为子管理员权限,拥有权限管理功能模块的权限
此时,a账号修改b账号的权限

取消勾选其企业管理的权限并保存

此时来到b账号发现并未被下线,还可以正常使用功能
重新给自己赋权,绕过了管理员的降权操作

由此,可以定时请求该接口,维持账号权限
静态敏感文件遍历
这类企业管理系统,往往存在较多的敏感文件的上传,例如认证时的法人身份证、各种合同、员工信息等。此类文件若简单的使用自增id、较短时间戳作为文件名,便会存在信息泄露的问题
例如认证处,上传身份证的地方

上传身份证,留意返回的照片地址

对于每一天的日期,都只需要遍历后几位数即可拿到其他用户的身份证
压缩包预览ddos
在系统各种存在预览文件的功能处,若能上传zip文件,则可能存在该问题,通过一个较小的压缩包使得服务器在解压过程中CPU飙到100%造成服务器宕机

例如各种提交工单的功能处。
新建一个代办事项,上传压缩包

点击预览查看,解压了2GB的文件

账号覆盖
常见于注册、修改账号、添加用户处。由于没有正确校验企业信用代码/手机号等核心键值是否在数据库中已有数据,导致覆写。
有些系统会专门设置一个类似isexist的接口来校验企业信用代码/手机号是否已经存在,查询过后不存在才允许注册、添加。这类往往由于采取的是分步校验,只在在前置的isexist接口校验账号是否已存在,在最终的提交注册接口里没用正确校验,导致可以修改返回值绕过,最终在提交注册的接口中手动修改、甚至是添加企业信用代码/手机号等字段来测试该漏洞
注册处

输入网上随便找的企业信息+自己的手机号+验证码,注册用户

直接获取了账号权限

修改账号处
企业信息维护等修改账号信息的功能处

点击保存抓包,修改企业信用代码为其他账号

显示保存成功,此时登录目标账号,会发现目标账号数据被覆盖、账号直接无法登录等等情况

任意注册/账号占用
常见于新增员工、添加账号、修改员工信息等功能处,由于是添加员工,所以往往只需要输入手机号不用验证码,验证码的校验在员工侧完成,导致可以添加任意手机号进入企业,导致对方无法注册
添加一个用户,手机号指定为目标手机号,

