phpinfo中值得注意的信息

在我们平时的渗透、ctf的过程中,或多或少会碰到

phpinfo

页面。但是这个页面包含的信息太多,常常感觉无从下手,在这里总结一下,可能没有那么全面。

基本信息

system info

mark

详细的操作系统信息,为提权做准备

extension_dir

mark

php扩展的路径

真实ip

mark

cdn什么的都不存在的,找到真实ip,扫一扫旁站,没准就拿下几个站。

web根目录

mark

临时文件路径

phpinfo()

页面post一个shell(自己写一个上传页面),可以在

_FILES["file1"]

中看到上传的临时文件,如果有个lfi,便可以直接getshell了。

mark

重要配置

allow_url_include

远程文件包含,但是一般不会开启

asp_tags

mark

php标签有4种形式,如果这个选项不开启的话,使用asp的标签是不会解析的。

这里有一篇

.user.ini

+

asp_tags

绕过的文章 针对内容(php tags)检测的一种绕过思路

注意: 在PHP 7已经完全移除了这种标签

short_open_tag

mark

还是标签的问题,允许

<??>

这种形式,并且

<?=

等价于

<? echo

disable_functions

mark

有时候我们上传了一个webshell却不能用,有很大可能是管理员做了配置,禁用了php执行系统命令的函数。

绕过的方式有这么几个:

  1. 黑名单绕过

百密一疏,寻找黑名单中漏掉的函数,上图中禁用的函数算是比较全的了。

比如在编译php时如果加了

-–enable-pcntl

选项,就可以使用

pcntl_exec()

来执行命令。

渗透技巧:利用pcntl_exec突破disable_functions

  1. 利用扩展(如ImageMagick)绕过

利用ImageMagick漏洞绕过disable_function

  1. 利用环境变量LD_PRELOAD来绕过php disable_function
  2. 利用扩展库绕过

http://www.91ri.org/8700.html

enable_dl

mark

上面说的利用扩展库绕过disable_functions,需要使用

dl()

并且开启这个选项

magic_quotes_gpc

mark

这个就不用多说了吧

open_basedir

mark

这个参数将用户可操作的文件限制在某目录下,但是这个限制是可以绕过的。

PHP绕过open_basedir列目录的研究

php5全版本绕过open_basedir读文件脚本

绕过open_basedir读文件脚本

扩展

imagick

前段时间影响比较大的漏洞,注意看版本。

漏洞影响ImageMagick 6.9.3-10之前的版本,包括ubuntu源中安装的ImageMagick。

ImageMagick 漏洞利用方式及分析

ImageMagick远程执行漏洞分析及利用

libxml

libxml 2.9以前的版本默认支持并开启了外部实体的引用,服务端解析用户提交的 xml 文件时未对 xml 文件引用的外部实体(含外部普通实体和外部参数实体)做合适的处理,会导致XXE。

memcache

Memcache未授权访问漏洞利用及修复

redis

redis也不用多说了吧

session

主要是序列化的一些问题

mark

序列化处理器不一致导致对象注入

当一个上传在处理中,同时POST一个与INI中设置的session.upload_progress.name同名变量时,当PHP检测到这种POST请求时,它会在$_SESSION中添加一组数据。所以可以通过Session Upload Progress来设置session。

具体可以看我的另一篇文章php对象注入总结

xdebug

xdebug命令执行

Xdebug: A Tiny Attack Surface

GOPHER

主要在ssrf中使用

利用 Gopher 协议拓展攻击面

fastcgi

Fastcgi协议分析 && PHP-FPM未授权访问漏洞 && Exp编写

写的很简单,主要还是积累太少,以后看到什么骚姿势再添加上去吧。

2
0