PhpMyadmin分析(一)

0x01 PhpMyadmin

  Phpmyadmin是一款以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,通过提供的mysql数据库用户账号和密码对所管理的数据库实施操作。在渗透过程中,一旦获取其mysql账号和对应的密码,轻者获取其账号所管理数据库,重者可以配合其它漏洞获取webshell权限和系统权限。

0x02 PhpMyadmin各版本漏洞

一、影响版本:3.5.x < 3.5.8.1 and 4.0.0 < 4.0.0-rc3 ANYUN.ORG
  概述:PhpMyAdmin存在PREG_REPLACE_EVAL漏洞
  利用模块:exploit/multi/http/phpmyadmin_preg_replace
  CVE: CVE-2013-3238

二、影响版本:phpMyAdmin v3.5.2.2
  概述:PhpMyAdmin存在server_sync.php 后门漏洞
  利用模块:exploit/multi/http/phpmyadmin_3522_backdoor
  CVE: CVE-2012-5159

三、影响版本: 2.11.x < 2.11.9.5 and 3.x < 3.1.3.1;
  概述:PhpMyAdmin配置文件/config/config.inc.php存在命令执行
  利用模块:exploit/unix/webapp/phpmyadmin_config
  CVE: CVE-2009-1151

四、影响版本:2.11.3 / 2.11.4
  利用方法:用户名处写入’localhost’@’@”则登录成功。 (注意全部是英文标点符号,最后一个为英文双引号)

0x03 附上几个php爆绝对路径的办法

  • 1、单引号爆路径
    直接在URL后面添加单引号,要求单引号没有被过滤(gpc=off)且服务器默认返回错误信息。

    1
    2
    EG:
    www.xxx.com/news.php?id=149'
  • 2、错误参数值爆路径
    将要提交的参数值改成错误值,比如-1。单引号被过滤时不妨试试。

    1
    2
    EG:
    www.xxx.com/news.php?id=-1
  • 3、Google爆路径
    结合关键字和site语法搜索出错页面的网页快照,常见关键字有warning和fatal error。注意,如果目标站点是二级域名,site接的是其对应的顶级域名,这样得到的信息要多得多。

    1
    2
    3
    EG:
    site:xxx.com warning
    site:xxx.com "fatal error"
  • 4、测试文件爆路径
    很多网站的根目录下都存在测试文件,脚本代码通常都是phpinfo(),可以先使用御剑等目录扫描工具进行扫描。

    1
    2
    3
    4
    5
    6
    7
    EG:
    www.xxx.com/test.php
    www.xxx.com/ceshi.php
    www.xxx.com/info.php
    www.xxx.com/phpinfo.php
    www.xxx.com/php_info.php
    www.xxx.com/1.php
  • 5、phpmyadmin爆路径
    一旦找到phpmyadmin的管理页面,再访问该目录下的某些特定文件,就很有可能爆出物理路径。

    1
    2
    3
    4
    5
    EG:
    www.xxx.com/phpMyAdmin/libraries/select_lang.lib.php
    www.xxx.com/phpMyAdmin/darkblue_orange/layout.inc.php
    www.xxx.com/phpMyAdmin/index.php?lang[]=1
    www.xxx.com/phpmyadmin/themes/darkblue_orange/layout.inc.php
  • 6、配置文件找路径
    如果注入点有文件读取权限,就可以手工load_file或工具读取配置文件,再从中寻找路径信息(一般在文件末尾)。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Windows:
    c:\windows\php.ini php配置文件
    c:\windows\system32\inetsrv\MetaBase.xml IIS虚拟主机配置文件
    Linux:
    /etc/php.ini php配置文件
    /etc/httpd/conf.d/php.conf
    /etc/httpd/conf/httpd.conf Apache配置文件
    /usr/local/apache/conf/httpd.conf
    /usr/local/apache2/conf/httpd.conf
    /usr/local/apache/conf/extra/httpd-vhosts.conf 虚拟目录配置文件
  • 7、nginx文件类型错误解析爆路径
    要求Web服务器是nginx,且存在文件类型解析漏洞。有时在图片地址后加/x.php,该图片不但会被当作php文件执行,还有可能爆出物理路径。

    1
    2
    EG:
    www.xxx.com/top.jpg/x.php
  • 8、通过mysql查询
      select @@datadir;

    0X04 获取PhpMyadmin信息

      想要利用PhpMyadmin的漏洞,那么首先就要知道那些网站或者URL中存在PhpMyadmin,这个是重中之重,除了谷歌和百度,这里只要介绍两个很重要的搜索引擎ZoomeyeShodan

Shodan

  Shodan被称为“世界上最可怕的搜索引擎”,Shodan通过来自各种设备的HTTP header以及其它标志性信息进行检索。Shodan可以收集这些设备的信息,并根据其所属国家、操作系统、品牌以及许多其它属性进行分类。而谷歌、百度等搜索引擎通过引用返回的内容进行检索,是网站内容搜索。我们可以注册账号进行搜索,进行免费的使用,Shodan搜索方法比较简单,大家可以自行尝试。

  • 1.1 关键字搜索
      搜索方法比较简单,直接在搜索框输入“phpmyadmin”,系统就会自动进行搜索。
  • 1.2 多关键词搜索
      在shodan搜索引擎中默认按照“TOP COUNTRIES”、“TOP SERVICES”、“TOP ORGANIZATIONS”、“TOP OPERATINGSYSTEMS”和“TOP PRODUCTS”五种类型进行显示,免费用户只能搜索前五页结果。不登录的话,只能看到一些简单的结果。
      我们可以在搜索关键字中加入国家进行搜索,也可以在左边的地图上进行点选。例如以下关键字:phpMyAdmin country:”CN” product:”Apache httpd” 表示搜索关键字“phpMyAdmin”,国家为中国,产品类型为“Apachehttpd”。
  • 1.3 搜索结果
      搜索结果记录中可以看到每一个记录中都会包含“phpMyAdmin”,然后在下面有一个Details,单击该链接会显示有关该IP端口开放等详细信息,在该信息中默认还会以地图方式显示该IP可能的地理信息。

ZoomEye

  Zoomeye是知道创宇开放了他们的海量数据库,对之前沉淀的数据进行了整合、整理,打造了一个名符其实的网络空间搜索引擎,除了联网设备还可搜索网站组件,可以用来对web服务进行细节分析。

  • 1.1 普通搜索
      直接主页面输入我们想要搜索的内容。
  • 1.2 高级搜索
      比如discuz的一个古老的漏洞,discuz X1.5版本,存在sql注入,可以利用sql注入上传文件,最终拿下服务器。

  经过上面两个搜索引擎,我们可以找到一系列存在phpmyadmin的网站。

0x05 小结

  经过上面的几步,我们已经得到了我们的目标,那么就可以进行下面的渗透操作了。