浅谈“phpinfo()信息泄漏”

一:漏洞名称:

PHPInfo信息泄漏、phpinfo()函数信息泄漏

描述:

PHPInfo函数信息泄露漏洞常发生一些默认的安装包,比如phpstudy等,默认安装完成后,没有及时删除这些提供环境测试的文件,比较常见的为phpinfo.php、1.php和test.php,虽然通过phpinfo获取的php环境以及变量等信息,但这些信息的泄露配合一些其它漏洞将有可能导致系统被渗透和提权。

phpinfo()函数返回的信息中包含了服务器的配置信息,包括:

1)PHP编译选项以及文件扩展名的相关信息;

2)php的版本信息

3)php的配置信息;

4)数据库信息;等敏感信息。这些敏感信息会帮助攻击者展开进一步的攻击。

检测条件:

1.被测网站web服务正常

2.采用PHP中间件架构的网站。

检测方法:

如果网站存在该漏洞,则通常通过web扫描工具进行扫描可得到链接。 

手工构造网站url,类似http://127.0.0.1/index.php?cmd=phpinfo();或者http://127.0.0.1/phpinfo.php直接访问:

 

分析文件 :(参考:http://www.bubuko.com/infodetail-2468379.html

1. 网站真实ip

当网站使用cdn或群集时,那么该文件会显示网站真实ip地址

2. 网站路径

当网站绝对路径泄漏时,如果能写webshell,则可以直接getshell;当日志文件路径泄露时,如果存在文件包含,则直接包含日志文件getshell

3. 应用信息

通过phpinfo可以查看到支持的特殊服务,例如:redis、fastcgi、memcache、ImageMagick等
如果存在redis、memcache等则可尝试未授权访问获取信息

如果存在fastcgi,则可尝试远程代码执行

如果使用了ImageMagick,则可根据版本尝试远程代码执行

 

4. 一些敏感配置

allow_url_include  #该项如果开启,则支持远程文件包含,如果有存在文件包含的文件则可直接getshell,或可以使用php伪协议
disable_function   #该项表示禁用的函数名
magic_quotes_gpc #php5.4以下版本有的函数,默认开启,会对特殊字符进行转移

 

5.php版本信息

php版本信息,每个php版本都有变化和特性
像php5.3.4以下 + magic_quotes_gpc off 可%00截断

关于%00截断可参考:(未完成,预计7月份补上(基于CTF靶场,单独写一篇博客)

 

漏洞修复:

1.建议限制此类脚本的访问权限或者删除对phpinfo()函数的调用:修改php.ini文件中的disable_functions配置项,把“phpinfo”添加到清单中:disable_functions=phpinfo

2.通过修改服务器环境内php.ini文件,将“expose_php = On”修改成“expose_php = Off”然后重启php即可。

3.如果确实需要该测试信息,在测试时使用,测试完毕后将该文件删除掉。

4.若无需要可以将一些php的危险函数禁用,打开/etc/php.ini文件,查找到 disable_functions,添加需禁用的以下函数名:

phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,

ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
 

备注:如果要禁用多个函数,函数名之间用逗号隔开

 

  • 11
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值