phpinfo的基本信息

服务器系统
详细的操作系统信息,为提权做准备
mNrHeS.png

extension_dirphp扩展的路径:
mNyehj.png

真实ip
mUV85n.png

mUV4VH.png
web根目录
mUVxaj.png
配置文件位置(php.ini):
mUZksU.png

重要配置

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

asp_tags:
mUeTjf.png
php标签有4种形式,如果这个选项不开启的话(一般默认不开启),使用asp的标签是不会解析的。
这里math1as师傅写了一篇user.ini+asp_tags绕过webshell检测的文章a way to bypass php tags check
实际就是通过向其中添加php_value asp_tags On并上传.htaccess.user.ini来bypass。
原理是:

asp_tags的属性是这样的
PHP_INI_PERDIR:指令可以在php.ini、httpd.conf或.htaccess文件中修改

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

short_open_tag:
mUKYG9.png
还是标签的问题,允许<??>这种形式,并且<?=等价于<? echo

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

enable_dl
mUJPA0.png
利用扩展库绕过disable_functions,需要使用dl()并且开启这个选项

magic_quotes_gpc:
mUJNDA.png
它是用来实现addslshes()和stripslashes()这两个功能的,对SQL注入进行防御。
open_basedir:
mUJsgg.png
这个参数将用户可操作的文件限制在某目录下,但是这个限制是可以绕过的。
详情请参考:
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。

XXE(xml外部实体注入漏洞)

memcache

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

redis

利用redis写webshell

session.upload_progress

session.upload_progress 是PHP5.4的新特征。
1.序列化处理器不一致导致对象注入。
详情:session反序列化

2.session.upload_progress加本地文件包含=getshell

session-upload-progress
非预期解法一

xdebug

xdebug命令执行
Xdebug: A Tiny Attack Surface
Xdebug
Xdebug 攻击面在 PhpStorm 上的现实利用
非预期解法三

GOPHER

主要在ssrf中使用

利用 Gopher 协议拓展攻击面

fastcgi

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

其他

phpinfo-LFI

phpinfo-LFI

OPCACHE

OPCACHE

域&用户

phpinfo页面还能看到当前域,当前登录用户

总结

最后发现东西太多了,我这基本算是照抄。。。

参考文章:
phpinfo可以告诉我们什么

amazing phpinfo()

  • php序列化和反序列化

    序列化在PHP中,序列化用于存储或传递 PHP 的值的过程中,同时不丢失其类型和结构。 序列化函数:string serialize ( mixed $value ) 说明: 返回对象的字符串表示。 返回值: 返回对象的字符串表示...

    php序列化和反序列化
  • linux三剑客

    前言之前用一些脚本都经常用到grep,sed,awk。但是一直不太熟悉,今天来学习一下,做个备忘录。 grep格式: grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTER...

    linux三剑客
  • i春秋2020新春战“疫”网络安全公益赛 web Writeup

    前言这次比赛题目质量挺好的,除啦环境可能有时候有点问题。(就让我遇到了。心态炸了一天。。。)其他都挺好的。 DAY1简单的招聘系统知识点:sql注入的联合注入或盲注存在注册和登陆功能,首先进行注册后登陆进系统,发现有一个模块是管理员才...

    i春秋2020新春战“疫”网络安全公益赛 web Writeup
  • 计算机组成原理学习

    计算机组成原理第一章 计算机系统概论计算机系统的层次结构 冯·诺依曼计算机的特点 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成 指令(程序)和数据以二进制同等地位地存储在存储器中,可按址寻访 指令由操作码和地址码组...

    计算机组成原理学习
  • 2019安洵杯+2019广外比赛web部分题解

    2019安洵杯easy_web知识点:MD5强碰撞,命令执行这个题比较简单,看题目发现传入参数img和cmd,然而图片是传入的img参数控制,让我想到ddctf的一道题,然后发现img是通过把文件名进行转十六进制后两次base64编码...

    2019安洵杯+2019广外比赛web部分题解
  • bypass disfunction

    前言PHP 的 disabled_functions主要是用于禁用一些危险的函数防止攻击者执行系统命令。但是有一些绕过方法。这里做个总结。 基本思路有四种绕过 disable_functions 的手法:第一种,攻击后端组件,寻找存在...

    bypass disfunction
  • 2019极客大挑战RCE ME

    题目环境:http://114.116.44.23:40001/ 题目还是老样子。无字母数字rce。知识点其实都有写过,就不说了。详细参见:【RCE提高篇】题目源码: <?php ini_set("display_errors"...

    2019极客大挑战RCE ME
  • RCE提高篇

    前言首先,需要了解一下命令执行的函数,这里推荐几篇文章,来认识这些函数。浅谈eval和assert从底层分析eval和assert的区别命令执行与代码执行的小结巧用命令注入的N种方式命令注入绕过姿势我就不在说这几个东西,大牛们都说的很...

    RCE提高篇
  • buuctf刷题记录(序)

    love math知识点:代码审计,绕waf直接给出源码: <?php error_reporting(0); //听说你很喜欢数学,不知道你是否爱它胜过爱flag if(!isset($_GET['c'])){ sho...

    buuctf刷题记录(序)
  • phar拓展反序列化攻击面

    pharphar扩展提供了一种将整个php应用程序放入名为“phar”(php archive)的单个文件中的方法,以便于分发和安装。除了提供这个服务之外,phar扩展还提供了一个文件格式抽象方法,用于通过phardata类创建和操作...

    phar拓展反序列化攻击面