登录绕过
信息收集到一个采购系统,通过.do结尾发现是jeecg框架,主页有多个登录口

通过校内用户登录弱口令无果,但页面返回了”当前用户不是校内机构”,抓包看看返回包


尝试把false都改为true,没想到直接进去了,但这个admin账号没啥用,没权限也没什么内容


先交了再说,拿了个低危1ranK

接口泄露
回到首页,有个供应商的登录和注册,先随便注册个账号,登录后没啥测试点,由于这个系统看起来非常老旧,还是jeecg的框架直接把抓包信息和接口发给AI猜测有没有接口泄露,找到了userController.do和cgAutoListController.do两个接口,让AI生成payload

通过/userController.do?datagrid&field=id,userName,password,salt,idcard,status,departid,realName,mobilePhone,email&page=1&rows=1000返回系统所有用户的信息,通过修改page找到管理员账户,这系统也是真烂,直接用加密的密码在校内用户登录就进去了。


后台可以对系统内容进行增删改查和修改数据库的配置
当时太菜了,进入管理员后台就觉得可以了,没继续深入,拿了高危7rank

后来又发现通过/cgFormHeadController.do?datagrid&field=id,tableName,content,isTree,isPagination&page=1&rows=500可以返回系统所有的数据表,再用/cgAutoListController.do?datagrid&configId=t_s_base_user返回用户表t_s_base_user用户信息,还有个t_s_user表返回身份证信息

通过这个接口又水了7rank
由于这个系统是个通杀,用fofa搜索这个主页挂这个公司的网站,也是上了一波小分,不过有挺多学校都修复了,早有人提交过了这个接口泄露,也是捡了一波漏。

总结
在jeecg框架中,userController.do作用是处理系统用户相关核心业务的控制器入口,/userController.do?datagrid 是一个专门用于为前端表格组件(DataGrid)提供用户列表数据的后端接口
``cgAutoListController.do作用是配合前端组件,这个接口可以实现任意配置表的数据查询、过滤、导出、分页功能。该接口通过传递一个参数(如表名、configId或dataFormId`)来决定查询哪张表。如果普通用户能调用它,就能直接绕过前端菜单,查询到系统中所有的业务数据。
该系统由于配置不当,导致普通供应商用户可以直接访问并成功执行这些接口,获取到系统的用户数据