项目介绍
本篇文章为青山ya师傅代码审计分享
腾讯xSRC开源版是腾讯安全应急响应中心(TSRC)面向合作伙伴推出的安全应急响应中心(SRC)建站软件,软件源代码开放。
可支持合作伙伴轻松构建SRC平台,省去大量开发运维工作,并支持个性化功能及页面设置,企业数据自主掌控,安全可靠。
腾讯xSRC是腾讯安全应急响应中心(TSRC)面向合作伙伴推出的用于快速构建企业安全应急响应中心SRC的开放平台,合作伙伴仅需简单几步配置即可完成SRC平台构建,省去了开发、运维的工作量,能够更好的专注于漏洞奖励和处置、鼓励白帽子报告漏洞等SRC运营工作。
开源项目地址:
https://hub.docker.com/r/xsrc/xsrc
审计过程
最新版本程序目录
确定开发框架为:thinkphp
逻辑缺陷一
所在文件路径
Application/User/Controller/PostController.class.php
133-185行 函数edit
发现变量data为post的所有数据
继续往下看
后续出现一个thinkphp经典链式查询
sql链式查询对数据没有严格校验
发现此处数据库user_id字段可控且没有限制 可能导致此处将提交的漏洞报告转移到其他账户
逻辑缺陷二
所在文件路径
Application/Admin/Controller/MemberController.class.php
116-158行 函数update中
同逻辑缺陷一
sql链式查询对数据没有严格校验
导致对数据库用户表member所有字段可进行修改后台原本无法修改的数据也可以进行修改
测试逻辑漏洞一
此处我用自己服务器安装程序进行测试
后台账号密码:admin/qingshan.
首先后台创建两个账号
用户名密码分别为qingshan/qingshan.和test/qingshan.
测试逻辑缺陷一
使用test账户提交个漏洞
后台也可以看到只有一个漏洞提交
根据源码得到漏洞url 并且在payload增加字段user_id
http://**************/user.php?m=&c=post&a=edit&rid=1
直接post发送数据包
cate_id=1&content=正文&title=Web服务漏洞&user_id=1
请求完毕之后在后台可以发现用户提交的漏洞成功转移到qingshan的账户上
数据库也产生了修改日志 但是所属id发生了变化
测试逻辑漏洞二
登录后台
找到页面
正常修改信息的数据包
http://*********/admin.php?m=&c=member&a=update
构造的payload 此处增加jinbi字段修改
username=qingshan&email=qingshan&password=&status=1&id=1&token=为后台登录token&realname=暂无&address=暂无&idcode=暂无&bankcode=暂无&tel=暂无&jinbi=任意金额
成功修改无法修改的字段
所有的数据库用户表member字段都可以进行修改
字段如下
本篇文章为青山ya师傅代码审计分享,转载需声明
星球内有丰富的挖洞经验分享,这里适合想要学习安全的师傅,具体详情扫描了解
原文始发于微信公众号(梅苑安全学术):xSRC开源建站系统漏洞审计