谈谈从phpinfo中能获取哪些值得注意的信息

yipeiwu_com7年前PHP代码库

phpinfo函数

phpinfo函数 PHP中提供了PHPInfo()函数,该函数返回 PHP 的所有信息,包括了 PHP 的编译选项及扩充配置、PHP 版本、服务器信息及环境变量、PHP 环境变量、操作系统版本信息、路径及环境变量配置、HTTP 标头、及版权宣告等信息。

其函数定义如下:

语法: int phpinfo(void);

返回值: 整数

函数种类: PHP 系统功能

例如新建一个php文件,在其中输入以下内容:

<?php phpinfo(); ?> 

所以phpinfo()想必对大家都最熟悉的了,在搭建环境之后都会随后写一个phpinfo()来测试环境是否正常,很多人测试完毕忘记删除就开始部署环境了,这就造成了一些敏感信息的泄漏。那么我们能从phpinfo()中获得哪些敏感信息呢?

php版本这种就不用说了,来看一下泄漏了哪些比较敏感的信息。

一、绝对路径(_SERVER[“SCRIPT_FILENAME”])

这个是最常用,也是最有效的一个办法,找到phpinfo()页面可以直接找到网站的绝对路径,对于写shell和信息搜集是必不可少的。

二、支持的程序

可以通过phpinfo()查看一些特殊的程序服务,比如redis、memcache、mysql、SMTP、curl等等如果服务器装了redis或者memcache可以通过ssrf来getshell了,在discuz中都出现过此类问题。如果确定装了redis或memcache的话,在没有思路的情况下,可以着重找一下ssrf

三、泄漏真实ip(_SERVER[“SERVER_ADDR”]或SERVER_ADDR)

有时候通过phpinfo()泄漏的ip可以查查旁站、c段什么的,直接无视cdn,百事不灵。

四、GOPHER

也算是ssrf一部分吧,或者说主要靠ssrf利用起来,如果支持gopher,ssrf便没有压力咯

五、fastcgi

查看是否开启fastcgi和fastcgi的版本,可能导致解析漏洞、远程命令执行、任意文件读取等问题

六、泄漏缓存文件地址(_FILES[“file1”])

向phpinfo() post一个shell可以在_FILES[“file1”]中看到上传的临时文件,如果有个lfi,便可以直接getshell了。

七、一些敏感配置

allow_url_include、allow_url_fopen、disable_functions、open_basedir、short_open_tag等等

比如allow_url_include可用来远程文件包含、disable_functions用来查看禁用函数,绕过执行、查看是否开启open_basedir,用p牛的绕过open_basedir的方法有可能能读一些没权限的目录等等。

此外还能获取一些环境信息,比如Environment中的path、log等

总结

暂时只想了这么多,欢迎留言补充,一定及时更新。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助。

相关文章

NOT NULL 和NULL

NOT NULL | NULL:指定该列是否允许为空。如果既不指定NULL也不指定NOT NULL,列被认为指定了NULL 在 MySQ...

php下关于中英数字混排的字符串分割问题

在网上找了一点时间,发现都不怎样。 后来就自己想了个办法,算是原创吧。 只是用截取加替换的功能。 复制代码 代码如下: function smssubstr($string, $leng...

浅析PHP 按位与或 (^ 、&amp;)

今天朋友群里朋友问了下 按位与或的问题。。PHP 工作有1年了 可能对这块不太熟悉吧 在这里给新手朋友介绍下这部分按位于主要是对二进制数操作。复制代码 代码如下:<?php$a =...

PhpMyAdmin中无法导入sql文件的解决办法

PhpMyAdmin中无法导入sql文件的解决办法 在命令窗口: mysql>source d:/datafilename.sql...

smarty section简介与用法分析

基本原形为: {section name = name loop = $varName[, start = $start, step = $step, max = $max, show...