安全政策

phpmyadmin开发人员团队正在努力使phpmyadmin成为 尽可能安全。但仍然是phpmyadmin等Web应用程序可能很脆弱 仍在探索若干攻击和新的利用方式。

对于每个报告的漏洞,我们发出PHPMyAdmin安全公告 (PMASA),它也被指定了一个CVE ID。我们可能会群体相似 漏洞到一个PMAS(例如,可以公布多个XSS漏洞 under one PMASA).

如果您认为您发现了漏洞,请参阅 报告安全问题.

典型的漏洞

在本节中,我们将描述典型的漏洞,可以出现在 我们的代码库。此列表绝不是完整的,它旨在显示 典型的攻击表面。

跨站点脚本(XSS)

PHPMYADMIN显示一段用户数据时,例如用户内的东西 数据库,所有HTML特殊字符都必须逃脱。当这种逃生是 缺少某个恶意用户可能会填写一个专门制作的数据库 内容以欺骗该数据库的其他用户进入执行某些内容。这个 例如可以是一块javascript代码,可以做任何数量 nasty things.

PHPMyAdmin尝试在其呈现为HTML之前逃脱所有UserData browser.

跨站点请求伪造(CSRF)

攻击者将欺骗PHPMyAdmin用户单击挑衅的链接 phpmyadmin的一些动作。此链接可以通过电子邮件或某些链接发送 随机网站。如果成功,攻击者将能够执行一些 使用用户权限的操作。

要缓解此PHPMyAdmin需要将令牌发送到敏感请求上。 这个想法是攻击者没有摆在当前有效的令牌 包括在呈现的链接中。

每次登录都会重新生成令牌,因此它通常仅适用于 有限的时间,攻击者更难获得有效的时间。

SQL注入

随着PHPMyAdmin的整体目的是预制SQL查询,这不是我们的 首先关注。当它涉及时,SQL注射对我们敏感 MySQL控制连接。此ControlConnection可以具有额外的特权 登录用户没有姿势。例如。进入 phpmyadmin配置存储.

应始终运行(管理)查询中包含的用户数据 通过databaseInterface :: escapestring()。

也可以看看

维基百科的SQL注射

蛮力攻击

PHPMyAdmin自己的不是以任何方式评估限制身份验证尝试。 这是由于需要在无国籍环境中工作引起的,没有办法 防止这种类型的东西。

要缓解此方法,您可以使用CAPTCHA或利用外部工具,如 fail2ban,这是更详细的描述 保护您的PHPMyAdmin安装.

报告安全问题

如果您在PHPMyAdmin编程代码中找到安全问题,请 contact the phpmyadmin安全团队 in 发布之前提前。这样我们可以准备修复并释放固定 公告。您还将在我们的安全公告中获得信用。 您可以选择使用PGP密钥ID加密报告 DA68AB39218AB947 以下指纹:

pub   4096R/DA68AB39218AB947 2016-08-02
      Key fingerprint = 5BAD 38CF B980 50B9 4BD7  FB5B DA68 AB39 218A B947
uid                          phpMyAdmin Security Team <[email protected]>
sub   4096R/5E4176FB497A31F7 2016-08-02

密钥可以从keyserver获得或可用 phpmyadmin钥匙扣 在我们的下载服务器上使用或使用 键盘.

如果您有建议改善PHPMyAdmin以使其更安全,请 report that to our 问题跟踪器. 可以找到现有的改进建议 硬化标签.