修复 SQL 注入漏洞

本文面向的是发布的应用中存在 SQL 注入漏洞的开发者。

最新动态

您的一个或多个应用中存在必须修复的 SQL 注入漏洞。请参阅 Play 管理中心内的通知。Play 管理中心内显示的截止日期过后,系统可能会将所有包含未修复安全漏洞的应用从 Google Play 中移除。

需要采取的行动​

  1. 登录您的 Play 管理中心,然后转到“提醒”部分,了解受影响的应用以及解决这些问题的截止日期。
  2. 更新受影响的应用并修复该漏洞。
  3. 提交受影响应用的更新版本。

重新提交后,我们会重新审核您的应用。审核过程可能需要几个小时才能完成。如果应用通过审核并成功发布,便无需进一步操作。如果应用未通过审核,则新版应用将无法发布,您会收到电子邮件通知。

更多详细信息

在导出的 ContentProviders 中实现 queryupdatedelete 时,如果将未经处理的输入传递给 SQL 语句,就会容易受到 SQL 注入攻击。恶意应用可能会提供蓄意创建的输入,进而访问隐私数据或损坏数据库内容。您可以通过以下方式解决此问题:

如果受影响的 ContentProvider 无需供其他应用使用,请执行以下操作:

如果受影响的 ContentProvider 需要供其他应用使用,请执行以下操作:

  • 您可以通过结合使用严格模式和投影映射来防止 SQLiteDatabase.query 受到 SQL 注入攻击。严格模式可防止出现恶意选择子句,投影映射可防止出现恶意投影子句。您必须同时使用这两项功能来确保查询安全无虞。
  • 您可以通过以下方式来防止 SQLiteDatabase.updateSQLiteDatabase.delete 受到 SQL 注入攻击:使用以“?”作为可替换参数的选择子句,并使用一组单独的选择参数。不应使用不信任的输入构建选择子句。

我们随时为您提供帮助

如果您针对此漏洞有技术方面的问题,可以在 Stack Overflow 上发帖咨询(使用“android-security”标签)。有关您需要采取哪些步骤来解决此问题的说明,请与我们的开发者支持团队联系。

该内容对您有帮助吗?

您有什么改进建议?
false
主菜单
3539204825241638718
true
搜索支持中心
true
true
true
true
true
5016068
false
false