返回介绍

11.11 数据库管理

发布于 2024-10-11 22:07:48 字数 581 浏览 0 评论 0 收藏 0

数据库管理跟文件管理一样,也是一个高危功能,可以直接操作数据库,对数据库进行备份、执行 SQL 语句,等等,如果启动数据库服务的系统用户以及数据库用户的权限都够大,那么完全可以利用这个功能直接执行系统命令以及操作服务器上的文件,如图 11-22 所示。

图 11-22

数据库管理有多个功能形式,比如 discuz 的数据库管理就是一个备份和优化的功能,其备份功能是可以操作所有表,另外一种是可以直接执行 SQL 语句进行操作。对于这两种情况下的安全设计,应该注意以下几个点:

1)限制可以操作的数据库表,如果是数据库备份可以直接在代码里面写死只能操作哪些表,如果是执行 SQL 语句的方式可以另建一个 MySQL 用户,限制可以操作的表和字段。

2)限制备份到服务器上的文件名,需要系统随机生成类似 md5 并且长度不能低于 16 位,扩展名不能自定义,这样做的目的一是防止攻击者利用该功能导出 webshell,二是防止被猜解到文件名直接下载。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文