php特性

news/2025/10/26 10:37:12/文章来源:https://www.cnblogs.com/capybaras/p/18342136

php特性

函数特性

is_file()绕过

is_file() 如果输入的是存在且正常的文件就返回true,利用函数所能处理的长度限制进行目录溢出,超过is_file能处理的最大长度就不认为是个文件了。
/proc/self/root为根目录,经过实验21个/proc/self/root加上/var/www/html/flag.php便可以绕过

is_numeric()

%0c,%09,%20都可以让is_numeric()函数为true

include()

文件中有<? 就会将 <? 后识别成php代码

assert()

执行命令不需要;

usleep()

返回值 NULL

parse_str()

用来将字符串转换成变量的函数
如:

<?php
$str = "name=Peter&age=43";
parse_str($str, $output);
echo $output['name']; // 输出: Peter
echo $output['age']; // 输出: 43

preg_match()

绕过方法:

  • 该函数当检测的变量是数组的时候会报错并返回0
  • 利用正则回溯最大次数上限绕过绕
    php为了防止dos攻击,可以设置preg_match()正则回溯最大限制。preg_match()默认是1000000次(实测回溯为100w次,5.3.7版本以前是10w次),可在php.ini中查询。
    1. 无回溯匹配正则
      /ab{1,3}c/ 匹配 abbbc时,则无回溯
      
    2. 有回溯匹配正则
      /ab{1,3}c/ 匹配 abbc时,则会产生回溯
      
      • 贪婪量词
        {1,3}为贪婪量词,尽可能匹配更多个字符
        /ab{1,3}c/匹配 abbc 会匹配 bb
      • 惰性量词
        {1,3}?为惰性量词,可能匹配少个字符
        /ab{1,3}?c/匹配 abbc {1,3}?只会匹配1个b
        参考文章:https://blog.csdn.net/yourdawntown/article/details/120558237
  • 换行绕过

__autoload()

当进行类判断的时候自动调用 php版本<7.2

intval()

  • 该函数不能用于 object,否则会产生 E_NOTICE 错误并返回 1。输入空数组会返回0 非空返回1
  • 开头+和空格会当正数或删除 如:+100 --> 100 %20100-->100
  • 第二个参数 $base 允许为空。
  • 当 base 为空时,默认值是 0,会根据 $var 的格式来调整转换的进制。
    如果 $var 以 0 开头,就使用 8进制
    如果 $var 以0x开头,就使用 16进制
    https://blog.csdn.net/wangyuxiang946/article/details/131156104

create_function()

语法:

create_function(string $args,  string $code)
string $args //声明的函数变量部分
string $code //执行的方法代码部分

其会创造一个匿名函数。
如:

$a=create_function("$a","echo($a);"); 
//创建一个叫做lamvda_1的函数。
//这等价于:
function lambda_1($a){echo($a);
}$a("I'm Liu"); 调用函数等价于 lambda_1("I'm Liu");

利用:
在其第二个参数做手脚。

$a=create_function("$a","echo($a);}system('ls');/*");
则创建后变成如下:
function lambda_1($a){echo($a);
}
system('ls');
/*
}
如此便能执行命令。

https://blog.csdn.net/snowlyzz/article/details/127171931#create_function()简介

md5()

该函数传入数组,会返回NULL

in_arry()

该函数有漏洞 没有设置第三个参数 就可以形成自动转换,如:1.php自动转换为1

parse_str()

函数把查询字符串解析到变量中。
注释:如果未设置 array 参数,由该函数设置的变量将覆盖已存在的同名变量

eregi()

可以使用%00绕过匹配(PHP5版本,该函数在PHP7中被弃用)
如:a%00b 只会匹配a

strcmp()

传入数组返回 NULL

basename()

在使用默认语言环境设置时,basename() 会删除文件名开头的非 ASCII 字符和中文,

_()和gettext()

_() 函数即 gettext() 函数,可以将参数翻译成指定语言,一般就是原封不动的输出参数
get_defined_vars 函数可以输出所有变量的信息,两者结合拿到flag

call_user_func()

调用类中函数的方式

<?phpclass myclass {static function say_hello(){echo "Hello!\n";}
}$classname = "myclass";call_user_func(array($classname, 'say_hello'));
call_user_func($classname .'::say_hello');$myobject = new myclass();call_user_func(array($myobject, 'say_hello'));?>

https://www.php.net/manual/zh/function.call-user-func.php

其他特性

1.超过精确度的弱类型问题
超过精确度的数字(小数点后超过17位)在进行弱类型比较时,会出 现相等的情况。例如var_dump(0.99999999999999999==1)的结果 为True。

2.NULL、0、"0"、array()、字母、进制的比较

  • NULL、0、"0"、array()在使用==和false比较时,都会返回true。
  • 字母和数字进行弱类型比较的时候,会转换为NULL。
  • 弱类型比较时,对于进制(十六进制、八进制、二进制等)格式的字 符串,会将其转换为数字。
    3.$GLOBALS数组包含当前脚本内定义成全局范围的所有变量的引用。 数组的键就是变量的名字。
    4.作用域:php函数中无法调用外部变量
    5.$_REQUEST可以接受GET、POST请求
    6.$_SERVER['argv']
    • cli模式(命令行)下,第一个参数$_SERVER['argv'][0]是脚本名,其余的是传递给脚本的参数.
    • 在web页模式下必须在php.ini开启register_argc_argv配置项,$_SERVER['argv']才会有效果。
      此时的 $_SERVER['argv'][0]=$_SERVER['QUERY_STRING'],及为url/?后的值,列如:127.0.0.1/?abc=23 值则为abc=23

其他

  1. php检查两数组是否相等的时候,不会检查指针是否相等,而是会检查元素是否相等
  2. php运算符优先级
clone new clone 和 new
[ array()
++ – ~ (int) (float) (string) (array) (object) (bool) @ 类型和递增/递减
instanceof 类型
! 逻辑运算符
* / % 算术运算符
+ – . 算术运算符和字符串运算符
<< >> 位运算符
== != === !== <> 比较运算符
& 位运算符和引用
^ 位运算符
| 位运算符
&& 逻辑运算符
|| 逻辑运算符
? : 三元运算符
= += -= *= /= .= %= &= = ^= <<= >>= =>
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符
, 多处用到
3.反射类new ReflectionClass() 根据逻辑创建不同类时使用反射类。
echo new ReflectionClass('类名');可以输出此类中的属性和方法名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/946649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年10月深圳近视手术医生推荐榜:五强对比与口碑评价

摘镜路上,最怕“信息过载”:广告词一个比一个亮,价格一家比一家低,可眼睛只有一双,万一选错,代价无法重来。深圳作为全国近视率最高的城市之一,每年新增手术需求超过八万例,其中七成集中在25—40岁的职场人群。…

php_sha1函数特性

php_sha1函数特性php_sha1函数特性 数组绕过 弱比较绕过 aaK1STfY 0e76658526655756207688271159624026011393 aaO8zKZF 0e89257456677279068558073954252716165668

php非法参数

php非法参数php非法参数 php非法参数传递 利用版本php版本小于8 <?php$c=$_GET[ab_c d.a]; ?>当我们在url中传参/?ab_c d.a=1时,传入后php会将 . 和空格转换成 _,此时后端参数名将为ab_c_d_a,但当我们传入…

2025 年 10 月仿石漆厂家最新推荐,专业制造与品牌保障口碑之选

当前仿石漆市场对产品专业性与品牌可靠性的需求日益提升,为帮助采购方筛选兼具专业制造能力与良好口碑的厂家,本次推荐榜单由中国建筑装饰装修材料协会联合行业口碑调研机构共同发起。测评周期为 2025 年 6 月 - 9 月…

php_md5特性

php_md5特性php_md5特性 弱比较绕过 0e绕过 能使md5加密后产生开头0e的数值 s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974117254469 s214587387a 0e84824044883053792446586561…

php原生类的使用

php原生类的使用php原生类 读取文件 可使用:SplFileObject类 用法: <?php$f=new SplFileObject(/flag) //读取flag文件 } ?>遍历目录 可使用:DirectoryIterator、RecursiveDirectoryIterator、FilesystemIt…

2025年10月防脱生发产品排名榜:术后修复与日常防脱对比

防脱生发需求在2025年呈现“双高峰”特征:一是25到40岁职场人群因熬夜、焦虑导致脂溢性脱发就诊量同比上升18%,国家卫健委《中国脱发人群调查》显示该年龄段占比已达58%;二是植发术后修复市场扩容,中国整形美容协会…

2025 年 10 月仿石漆厂家最新推荐,精准检测与稳定性能深度解析

为解决仿石漆市场产品性能参差不齐、采购方难以判断稳定性的问题,本次推荐榜单由中国涂料工业协会联合国家建筑材料测试中心共同开展,测评周期为 2025 年 6 月 - 9 月,覆盖全国 29 个省市的 160 余家仿石漆厂家。测…

下午选歌

rt: 《鲜花》 《绿光》 《桃花笑》 《欧若拉》 《月半小夜曲》

分治算法在查找第k小元素中的应用与分析

1 算法描述:找第k小的数的分治算法 找第k小的数的问题是指给定一个无序数组,找出其中第k小(按升序排列后位于第k个位置)的元素。分治算法是解决这一问题的有效方法,它借鉴了快速排序的分区思想,但通过避免完全排…

「学习笔记」RCE基础

常用函数 system system(string $command, int &$return_var = ?) command: 执行 command 参数所指定的命令,并输出执行结果。 如果提供 return_var 参数,则外部命令执行后的返回状态将会被设置到此变量中。 ex…

Level 0~8 WP

Level 0~8 Level 0 flag 直接给出了。Level 1 代码会执行通过 POST 方式获取到的 a 里面的命令,那我们直接改让 a=echo $flag 即可。Level 2 代码含义,GET 到 action = r 的话,会随机一次函数,GET action = submit…

2025年10月中国装饰公司对比榜:十家口碑与实力排行

把房子变成家,是大多数中国家庭在2025年最重要的消费决策之一。住建部数据显示,全国城镇住宅装修年需求仍保持约两千亿元规模,其中80后90后业主占比超过七成,他们普遍面临“预算有限、时间碎片、风格多元、售后怕扯…

2025年10月电竞显示器品牌评价榜:五强对比与选购要点

开学季宿舍升级、毕业租房首台电竞装备、国庆长假宅家冲分,十月的购机窗口集中爆发。京东商智《2025中国电竞显示器线上零售报告》显示,9月最后两周销量环比上扬42%,其中学生与25岁以下用户占比首次突破55%。需求侧…

2025年10月食品展会推荐榜:NHNE领衔五大展会对比评测

2025年10月,食品行业进入年度收官冲刺阶段,企业普遍面临“选品、签单、建渠道”三重压力。对原料商来说,需要在年底前锁定来年配方;对品牌方来说,要在春节备货前完成包装升级;对经销商来说,则希望一次性对接更多…

2025年10月连锁酒店排行榜推荐:丽柏丽怡领衔对比评测榜

一、引言 对于计划在2025年第四季度完成加盟签约或大宗差旅协议签署的创业者、机构投资者与企业采购部门而言,连锁酒店品牌的筛选直接决定后续五年内的现金流、物业溢价能力与顾客复购率。行业进入存量改造与精细化运…

ajax回调钩子的应用简介

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

PS-02

PS-02 2025 10 12 介绍&&软件安装 图形与图像图形:基于路径的矢量图;放大不会有像素点;放大缩小不会损失;只由绘制得到 图像:位图(点阵图);由像素构成;放大缩小一定损失 图片包括位图和矢量图 图像只…

详细介绍:[特殊字符]️ Spring Cloud Eureka 三步通:搭建注册中心 + 服务注册 + 服务发现,通俗易懂!

详细介绍:[特殊字符]️ Spring Cloud Eureka 三步通:搭建注册中心 + 服务注册 + 服务发现,通俗易懂!2025-10-26 10:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: nor…

2025年10月中国办公家具定制公司推荐:口碑排行榜与权威解析

引言与现状分析 当企业准备搬迁、扩租或升级办公空间时,决策者往往面临“时间紧、预算有限、品牌多、标准杂”的四重压力。2025年第三季度,全国办公空间装修备案项目同比增长18.6%,其中67%的项目涉及家具定制,平均…