前言

今晚瞎逛的时候发现phpmyadmin更新了,查看 Release notes

The two most notable fixes:
* Issue #15724 regarding two-factor authentication
* PMASA-2020-1 which is an SQL injection vulnerability in the user accounts page

发现修复了一个sql注入漏洞,便想复现和分析一下

官方修复

打开phpmyadmin的安全公告页面,查看公告写的PMASA-2020-1

描述

在用户帐户页面中发现了一个SQL注入漏洞。创建对此页面的查询时,恶意用户可能会注入自定义SQL来代替其自己的用户名。攻击者必须具有有效的MySQL帐户才能访问服务器。

下面的fix 只改了一行

很显然 这个就是注入点了. 也不会像之前那个洞一样闹个乌龙,说是sql注入而其实是xss

环境搭建

docker一把梭

docker run --name mysql5.6 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

`docker run --name myadmin -d --link mysql5.7:db -p 8080:80 phpmyadmin/phpmyadmin:5.0

溯源和构造poc

下载前一个版本 5.0.0的代码压缩包后, 打开libraries/classes/Server/Privileges.php 来到对应行.

if (isset($_GET['validate_username'])) {
点击收藏 | 0 关注 | 1
  • 动动手指,沙发就是你的了!
登录 后跟帖