前言
本文章有青山ya师傅投稿,感谢师傅!
程序下载地址
https://security.tencent.com/opensource/down/19
腾讯xSRC开源版是腾讯安全应急响应中心(TSRC)面向合作伙伴推出的安全应急响应中心(SRC)建站软件,软件源代码开放。
可支持合作伙伴轻松构建SRC平台,省去大量开发运维工作,并支持个性化功能及页面设置,企业数据自主掌控,安全可靠。
审计过程
1.程序使用手册https://docs.qq.com/doc/DSExhSGF1SkJUVnBF
最新版本1.0.3 程序目录
确定开发框架为: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所有字段可进行修改
后台原本无法修改的数据也可以进行修改
逻辑缺陷三
Application/User/Controller/GiftController.class.php
126-236行 函数add
上面为正常的逻辑判断 如下图
漏洞点,此处先添加了一个金币记录然后再进行判断token
导致可以不购买礼品即可增加金币记录
测试过程
此处我用自己服务器安装程序进行测试
后台账号密码:admin/qingshan.
首先后台创建两个账号
用户名密码分别为qingshan/qingshan.和test/qingshan.
逻辑缺陷测试一
后台也可以看到只有一个漏洞提交
根据源码得到漏洞url 并且在payload增加字段user_id
http://ip:99/user.php?m=&c=post&a=edit&rid=1
直接post发送数据包
cate_id=1&content=正文&title=Web服务漏洞&user_id=1
请求完毕之后在后台可以发现用户提交的漏洞成功转移到qingshan的账户上
数据库也产生了修改日志 但是所属id发生了变化
逻辑缺陷测试二
正常修改信息的数据包
http://ip:99/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字段都可以进行修改
字段如下
逻辑缺陷测试三
这里是没有记录的
测试礼品
构造payload
http://ip/user.php?m=&c=gift&a=add&gid=1
address=1&gid=1&number=1&token=111
发现安全币没变化 记录却多了一条
至此三个逻辑缺陷到此结束,谢谢观看!
原文始发于微信公众号(威零安全实验室):腾讯xSRC开源版存在多个逻辑缺陷
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论