文章总结: 本文分析了微信小程序云开发中文档型数据库的权限配置漏洞。作者发现若数据库权限未设置为ADMINONLY,前端可直接通过wx.cloud.database接口越权读取或修改数据。文章通过演示不同权限模式下的访问结果证实了风险,并建议开发者使用云函数作为中间层操作数据库,配合严格权限校验以规避安全隐患。 综合评分: 83 文章分类: 漏洞分析,WEB安全,渗透测试,安全建设,实战经验
文档型数据库操作演示
我在写小程序的时候,发现大模型会在云函数和小程序 js 文件里使用
const db = wx.cloud.database();
// 先获取总数
const countResult = await db.collection('articles').count();
const total = countResult.total;
// 获取分页数据
const result = await db.collection('articles')
.orderBy('createTime', 'desc')
.skip((page - 1) * pageSize)
.limit(pageSize)
.get();
const newArticles = result.data;
云函数和小程序都是调用的 wx cloud 的 sdk。这两种都执行成了。
那小程序可以直接db.collection('articles')直接配置查询哪个数据表。这里好像并没有限制不能查看其他数据库哦。
在 console 中调用
小结
可以看到,如果没有配置无权限[ADMINONLY],那么我们能通过 wx.cloud.database 直接对数据库进行查看,如果给了满权限,还能增删改查。
防御
当小程序需要对云文档数据库进行操作时,可以通过云函数进行操作。即时数据库配置无权限[ADMINONLY],云函数依然可以访问,进行完整的增删改查。

版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论