前两天在公司上班无聊打发时间,突然想看看我们公司的官网有啥漏洞没有,于是说干就干。
网站主页倒没啥问题,不过它的子网站一眼就看出问题了,估计年久失修都忘记有这个站的存在了吧。
信息收集发现是mysql数据库,没有任何拦截,随便试了试爆出error,直接暴力sqlmap一把梭
报出密码,收工。我要是开发部那边的员工,入职第一件事就是把这个cms下了
影响版本:mymps 5.8E
防止 SQL 注入的最佳实践包括以下几种方法:
-
使用参数化查询或预编译语句:这是防止 SQL 注入的最有效方法。参数化查询或预编译语句可以确保输入被正确处理,不会被解释为 SQL 代码。在大多数编程语言和数据库系统中,都有这样的功能。
-
验证和清理输入:对所有用户输入进行验证,确保它们符合预期的格式。例如,如果期望输入是数字,那么非数字的输入应该被拒绝。此外,使用适当的方法清理或转义用户输入,以防止特殊字符被解释为 SQL 代码。
-
限制数据库用户权限:确保应用程序连接到数据库的用户只有执行所需操作的必要权限。不要给用户过多的权限,这样可以减少潜在的注入攻击造成的损害。
-
使用 Web 应用防火墙 (WAF):WAF 可以检测和阻止 SQL 注入攻击。它可以识别和过滤恶意流量,帮助保护应用程序免受攻击。
-
定期更新和打补丁:确保你的应用程序、框架和数据库管理系统都更新到最新版本,并应用所有安全补丁。新版本通常修复了已知的安全漏洞,可以防止 SQL 注入等攻击。
-
错误处理:不要在生产环境中显示详细的数据库错误信息给用户。这样可以防止攻击者利用错误信息进行进一步的攻击。
-
使用安全的数据库连接库或框架:有些数据库连接库或框架在设计时已经考虑了安全性,它们通常会提供内置的防止 SQL 注入的功能。
-
限制数据库连接:限制从应用程序 IP 地址的数据库连接数,防止暴力破解和 SQL 注入攻击。
-
使用安全的密码策略:确保用户密码存储在数据库中时被正确地加密和散列,避免明文存储密码。
-
进行安全审计和测试:定期对应用程序进行安全审计和测试,确保没有未修复的安全漏洞,包括 SQL 注入漏洞。
原文始发于微信公众号(雾都的猫):Mymps cms系统存在sql注入
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论