phpinfo 信息利用

0x01 基础信息

1.system info:提供详细的操作系统信息,为提权做准备
在这里插入图片描述2.extension_dir:php扩展的路径
在这里插入图片描述
3.$_SERVER[‘HTTP_HOST’]:网站真实IP、CDN什么的都不存在的,找到真实ip,扫一扫旁站,没准就拿下几个站。
phpinfo 信息利用_第1张图片

4.$_SERVER[‘DOCUMENT_ROOT’]:web根目录

在这里插入图片描述

5.临时文件路径
这个配置在我的phpinfo中并没有看到~据说可以向phpinfo()页面post一个shell(自己写一个上传页面),可以在_FILES[“file1”]中看到上传的临时文件,如果有个lfi,便可以直接getshell了。参考链接:http://zeroyu.xyz/2018/11/13/what-phpinfo-can-tell-we/#%E4%B8%B4%E6%97%B6%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84

0x02 重要配置

1.allow_url_include:远程文件包含;
在这里插入图片描述

2.disable_functions:表示禁用的函数名
在这里插入图片描述
3.asp_tags:php标签有4种形式,如果这个选项不开启的话(一般默认不开启),使用asp的标签是不会解析的。
在这里插入图片描述
注意:PHP7中不再含有“asp_tags”。
在这里插入图片描述

4.short_open_tag:允许这种形式,并且
在这里插入图片描述
disable_functions:有时候我们上传了一个webshell却不能用,有很大可能是管理员做了配置,禁用了php执行系统命令的函数。
在这里插入图片描述
绕过的方式有这么几个:

1.黑名单绕过

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

比如有时候没有禁用proc_open

比如在编译php时如果加了-–enable-pcntl选项,就可以使用pcntl_exec()来执行命令。

pcntl是linux下的一个扩展,可以支持php的多线程操作。
pcntl_exec函数的作用是在当前进程空间执行指定程序,版本要求:PHP > 4.2.0;


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

参考链接:https://www.waitalone.cn/imagemagic-bypass-disable_function.html

5.enable_dl:上面说的利用扩展库绕过disable_functions,需要使用dl()并且开启这个选项
在这里插入图片描述

6.magic_quotes_gpc:它是用来实现addslshes()和stripslashes()这两个功能的,对SQL注入进行防御。

在这里插入图片描述

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

在这里插入图片描述

PHP绕过open_basedir列目录的研究:https://www.leavesongs.com/PHP/php-bypass-open-basedir-list-directory.html

php5全版本绕过open_basedir读文件脚本:https://www.leavesongs.com/bypass-open-basedir-readfile.html

绕过open_basedir读文件脚本:https://blog.csdn.net/niexinming/article/details/53146095

未完待续…

你可能感兴趣的:(PHP)