文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
11.11 数据库管理
数据库管理跟文件管理一样,也是一个高危功能,可以直接操作数据库,对数据库进行备份、执行 SQL 语句,等等,如果启动数据库服务的系统用户以及数据库用户的权限都够大,那么完全可以利用这个功能直接执行系统命令以及操作服务器上的文件,如图 11-22 所示。
图 11-22
数据库管理有多个功能形式,比如 discuz 的数据库管理就是一个备份和优化的功能,其备份功能是可以操作所有表,另外一种是可以直接执行 SQL 语句进行操作。对于这两种情况下的安全设计,应该注意以下几个点:
1)限制可以操作的数据库表,如果是数据库备份可以直接在代码里面写死只能操作哪些表,如果是执行 SQL 语句的方式可以另建一个 MySQL 用户,限制可以操作的表和字段。
2)限制备份到服务器上的文件名,需要系统随机生成类似 md5 并且长度不能低于 16 位,扩展名不能自定义,这样做的目的一是防止攻击者利用该功能导出 webshell,二是防止被猜解到文件名直接下载。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论