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


Posted in PHP onMarch 28, 2017

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了。

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

七、一些敏感配置

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等

总结

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

PHP 相关文章推荐
使用 php4 加速 web 传输
Oct 09 PHP
PHP防注入安全代码
Apr 09 PHP
php mysql数据库操作类
Jun 04 PHP
php 引用(&amp;)详解
Nov 20 PHP
PHP 事件机制(2)
Mar 23 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
Discuz论坛密码与密保加密规则
Dec 19 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
PHP代码重构方法漫谈
Apr 17 PHP
PHP getName()函数讲解
Feb 03 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 #PHP
php中Redis的应用--消息传递
Mar 28 #PHP
php实现留言板功能(代码详解)
Mar 28 #PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 #PHP
php传值方式和ajax的验证功能
Mar 27 #PHP
php实现微信扫码支付
Mar 26 #PHP
PHP实现留言板功能的详细代码
Mar 25 #PHP
You might like
php截取后台登陆密码的代码
2012/05/05 PHP
php curl模拟post请求小实例
2013/11/13 PHP
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
Angular单元测试之事件触发的实现
2020/01/20 Javascript
Python的迭代器和生成器使用实例
2015/01/14 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
Python Django路径配置实现过程解析
2020/11/05 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
2019年.net常见面试问题
2012/02/12 面试题
一套英文Java笔试题面试题
2016/04/21 面试题
广告学毕业生求职信
2014/01/30 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js