前言
今晚瞎逛的时候发现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