68、PHPINFO信息泄露检测与利用

基本介绍

PHPINFO信息泄露是指通过访问Web服务器上的PHPINFO页面获取关于PHP配置和服务器环境的敏感信息的攻击行为,PHPINFO页面是一种特殊的PHP脚本,它可以列出PHP解释器的配置信息和环境变量等详细信息,攻击者可以通过访问PHPINFO页面获取服务器的敏感信息,比如:PHP版本号、模块版本、文件路径、安装路径、操作系统版本等,这些信息可以被攻击者用于实施其他攻击行为,比如:利用已知的漏洞进行攻击或者编写定制的攻击脚本

漏洞成因

PHPINFO信息泄露通常是由于Web服务器配置不当或者开发人员疏忽造成的,常见的导致PHPINFO信息泄露的原因包括以下几个方面

  • Web服务器配置不当:如果Web服务器配置允许访问PHPINFO页面,攻击者就可以通过访问该页面获取敏感信息
  • PHPINFO脚本文件未被删除:如果开发人员在调试过程中使用了PHPINFO脚本文件,但是忘记将其删除或者关闭,就会导致该页面一直对外暴露
  • PHPINFO脚本文件权限设置不当:如果PHPINFO脚本文件的权限设置不当,攻击者可以通过网络连接或者文件包含漏洞等方式访问该文件,从而获取敏感信息
简易示例

这里以CTFHUB靶场的一个PHPINFO信息泄露环境为例进行说明:

Step 1:直接查看页面会看到如下界面,此时我们直接点击"查看phpinfo"按钮

Step 2:此时会看到phpinfo信息泄露页面

全局搜索"ctfhub"可以看到flag如下:ctfhub{91eba7861fd79c3bab4ce7c3}

测试技巧

PHPINFO信息泄露场景的页面名称通常是phpinfo.php或者info.php,这两个文件是用于查看PHP配置信息的常见文件名,因此攻击者通常会通过访问这些文件来获取Web服务器上的敏感信息,比如PHP版本号、模块版本、文件路径、安装路径、操作系统版本等,而除了phpinfo.php和info.php以外还有一些其他的页面名称可能会用于PHPINFO信息泄露攻击,包括以下几个方面:

  • test.php或者check.php:这些文件名通常是为了模拟一些测试场景而使用的,攻击者会在这些文件中嵌入PHPINFO代码,从而获取敏感信息
  • php.php或者info.php.bak:这些文件名可能是Web应用程序的备份文件或者历史文件,攻击者可以通过访问这些文件获取Web服务器上的敏感信息
  • phpinfo2.php或者info2.php:这些文件名可能是为了避免被扫描工具或者系统管理员发现而使用的变形文件名,攻击者会使用这些变形文件名来隐藏真正的PHPINFO页面
安全建议

为了保护Web服务器的安全性可以采取以下几个措施:

  • 禁用PHPINFO页面:在Web服务器配置中禁用PHPINFO页面,可以有效避免PHPINFO信息泄露攻击
  • 删除PHPINFO脚本文件:在开发和测试过程中,删除或者关闭PHPINFO脚本文件,避免其对外暴露
  • 设置PHPINFO脚本文件的权限:设置PHPINFO脚本文件的权限,只允许授权用户访问该文件,避免攻击者利用漏洞访问该文件
  • 进行Web应用程序安全测试:通过渗透测试等方式对Web应用程序进行安全测试,及时发现和修复可能存在的安全漏洞,避免敏感信息泄露

猜你喜欢

转载自blog.csdn.net/Fly_hps/article/details/133951642