谈谈从phpinfo中能获取哪些值得注意的信息
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等
总结
暂时只想了这么多,欢迎留言补充,一定及时更新。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助。
相关推荐
-
phpinfo 系统查看参数函数代码
复制代码 代码如下: <?php /* +-------------------------------------------------------------------------- | B-Check v0.05 | ======================================== | 南方第三制作 | http://www.zndown.com | ======================================== | 探针官方:http://my.zn
-
在windows服务器开启php的gd库phpinfo中未发现
在windows服务器开启php的gd库时,使用cgi之后phpinfo()得到的结果中 Configure Command 中并没有出现gd. Configure Command 后显示的是: 复制代码 代码如下: 1 cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mss
-
怎么样可以把 phpinfo()屏蔽掉?
Q:怎么样可以把 phpinfo()屏蔽掉? A:路径:C:\winnt(or windows)\php.ini(NT和2000)C:\windows(95,98) 在 php.ini 配置文件里面有这个选项 disable_functions = ; This directive allows you to disable certain ; functions for security reasons. It receives ; a comma separated list of
-
解析如何屏蔽php中的phpinfo()函数
我们配置php环境的时候往往都会写phpinfo():这个函数来测试php环境是否安装成功,但往往这个函数也会给系统带来安全隐患,那么如何让关掉这个函数呢?下面介绍一种方法:修改php.ini文件,在里面找到如下行, 复制代码 代码如下: disable_functions = ; This directive allows you to disable certain; functions for security reasons. It receives; a comma separated
-
谈谈从phpinfo中能获取哪些值得注意的信息
phpinfo函数 phpinfo函数 PHP中提供了PHPInfo()函数,该函数返回 PHP 的所有信息,包括了 PHP 的编译选项及扩充配置.PHP 版本.服务器信息及环境变量.PHP 环境变量.操作系统版本信息.路径及环境变量配置.HTTP 标头.及版权宣告等信息. 其函数定义如下: 语法: int phpinfo(void); 返回值: 整数 函数种类: PHP 系统功能 例如新建一个php文件,在其中输入以下内容: <?php phpinfo(); ?> 所以phpinfo()想必
-
树莓派中python获取GY-85九轴模块信息示例
先看效果图 GY-85.py: 复制代码 代码如下: #!/usr/bin/python3# -*- coding: utf-8 -*-import cursesfrom time import *from i2clibraries import i2c_itg3205, i2c_adxl345, i2c_hmc5883l #==========================================================# GY-8
-
WordPress中用于获取文章作者与分类信息的方法整理
作者 查询和某些作者(用户)有关的文章,可以使用 4 个参数: author(整数):用户 ID author_name(字符串):用户的昵称("user_nicename" 字段) author__in(数组):用户 ID author__not_in(数组):用户 ID 获取一个作者的文章 根据用户 ID 获取: $query = new WP_Query( 'author=123' ); 根据用户的昵称("user_nicename" 字段)获取: $quer
-
SQLServer中使用扩展事件获取Session级别的等待信息及SQLServer 2016中Session级别等待信息的增强
什么是等待 简单说明一下什么是等待: 当应用程序对SQL Server发起一个Session请求的时候,这个Session请求在数据库中执行的过程中会申请其所需要的资源, 比如可能会申请内存资源,表上的锁资源,物理IO资源,网络资源等等, 如果当前Session运行过程中需要申请的某些资源无法立即得到满足,就会产生等待. SQL Server会以不用的方式来展现这个等待信息,比活动Session的等待信息,实例级的等待信息等等. SQL Server中,等待事件是作为DBA进行TroubleSh
-
谈谈对Java中的volatile的理解
前言 volatile相关的知识其实自己一直都是有掌握的,能大概讲出一些知识,例如:它可以保证可见性:禁止指令重排.这两个特性张口就来,但要再往深了问,具体是如何实现这两个特性的,以及在什么场景下使用volatile,为什么不直接用synchronized这种深入和扩展相关的问题,就回答的不好了.因为volatile是面试必问的知识,所以这次准备把这部分知识也给啃掉. 系统处理效率与Java内存模型 在计算机中,每条程序指令都是在CPU中执行的,而CPU执行指令的数据都是临时存储在内存中的,但是
-
Java中Spring获取bean方法小结
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢? Bean工厂(com.springframework.beans.factory.BeanFactory)是Spring框架最核心的接口,它提供了高级IoC的配置机制.BeanFactory使管理不同类型的Java对象成为可能,应用上下文(com.springframework.context.ApplicationContext)建立在BeanFactory基础之上,提供
-
java 中如何获取字节码文件的相关内容
java 中如何获取字节码文件的相关内容 反射机制是指在运行状态中,对任意一个类(class文件),都能知道这个类的所有属性和方法:对任意一个对象,都能调用这个对象的方法和属性.这种动态的获取信息和动态的调用对象的方法的功能称为--Java语言的反射机制. 简单点说,动态的获取类中的信息,这就是Java的反射机制. 在Java的反射机制中,我们可以通过配置文件信息,然后通过类名来获取类中包含的详细信息,如构造函数.成员变量和成员函数等.在接下来,作者将分别演示如何通过类名来获取类中包含的信息.
-
java中使用try-catch-finally一些值得注意的事(必看)
我们知道,try负责圈定可能会出异常的代码:catch负责处理try中可能异常的处理,如记录错误日志,使业务能够正常运行:finally负责资源释放等善后工作,无论有无异常都必须要执行的代码,一般都是放在finally中的.如果catch和finally也会出现异常,那么会是什么效果呢? try { // java.lang.ArithmeticException int a = 1 / 0; } catch (Exception e) { System.out.println("catch&q
-
JS使用ajax方法获取指定url的head信息中指定字段值的方法
本文实例讲述了JS使用ajax方法获取指定url的head信息中指定字段值的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码用来获取ajax_info.txt的head信息中的Last modified属性,最后修改时间 <!DOCTYPE html> <html> <head> <script> function loadXMLDoc(url) { var xmlhttp; if (window.XMLHttpRequest) {// code
-
ASP.NET中实现获取调用方法名
本文实例讲述了ASP.NET中实现获取调用方法名的技巧.分享给大家供大家参考.具体实现方法如下: 在写记录日志功能时,需要记录日志调用方所在的模块名.命名空间名.类名以及方法名,想到使用的是反射(涉及到反射请注意性能),但具体是哪一块儿还不了解,于是搜索,整理如下: 需要添加相应的命名空间: 复制代码 代码如下: using System; using System.Diagnostics; using System.Reflection; 如果仅是获取当前方法名,可以使用如下代码: 复制代码
随机推荐
- Rails中遇到错误跳转到统一提示错误页的方法
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器
- 深入理解python中的select模块
- 通过C++学习Python
- 兼容FF和IE的动态table示例自写
- PHP exif扩展方法开启详解
- php中strtotime函数用法详解
- Python标准库与第三方库详解
- C# SQLite事务操作方法分析
- Android控件系列之ImageView使用方法
- Android 中okhttp自定义Interceptor(缓存拦截器)
- mysql 无法连接问题的定位和修复过程分享
- PHP常用工具类大全附全部代码下载
- python非递归全排列实现方法
- Javascript实例教程(19) 使用HoTMetal(6)
- jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
- JavaScript 对象模型 执行模型
- 精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
- 虚拟主机安全设置
- 解析如何正确使用SqlConnection的实现方法