您当前位置: 首页 » CTF » 关于php弱类型的相关测试

关于php弱类型的相关测试

2017年2月14日 | 发表评论(0) 查看评论

现成的结论:

1.Var_dump(“.”==0) //true 用.可以绕过==0

2.既要等于1又要等于0 // 如果是字符串,也就是a的时候,offset取值的时候会转化为整数,也就是0

这个在之前的文章中提到过CTF之PHP黑魔法总结

弱类型比较运算符:

需要明白变量类型及它们的意义。例如,”42″ 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 “false” 是一个字符串。

在不同类型的比较运算中object最大、其次array。当bool和null和其他类型比较时,先转换为bool,在进行false和true的比较。

下图是php手册里给出的结论

 

比较多种类型
运算数 1 类型 运算数 2 类型 结果
null 或 string string 将 NULL 转换为 “”,进行数字或词汇比较
bool 或 null 任何其它类型 转换为 boolFALSE < TRUE
object object 内置类可以定义自己的比较,不同类不能比较,相同类和数组同样方式比较属性(PHP 4 中),PHP 5 有其自己的说明
stringresource 或number stringresource 或number 将字符串和资源转换成数字,按普通数学比较
array array 具有较少成员的数组较小,如果运算数 1 中的键不存在于运算数 2 中则数组无法比较,否则挨个值比较(见下例)
object 任何其它类型 object 总是更大
array 任何其它类型 array 总是更大
分类:

CTF

| 标签:

,