常见审计题
;
- PHP类型比较缺陷
-‘== ’ 与 ‘ ===’
==先转换为相同类型再比较,又称松散比较。
而 ===先判断类型,如果类型不相同返回false。
- hash比较缺陷
如果是==比较,hash值为’oe’开头直接判断为相等
- 布尔欺骗
-当存在json_decode 和 unserialize的时候,部分结构会被解释成bool类型,也造成欺骗.
a:2:{s:4:“user”;b:1;s:4:“pass”;b:1;}
经过反序列化 都为bool;
- 数字转换欺骗
$user_id = 0.99999999999999
var_dump($user_id == 1) ⇒ true
$uid = 1.1
var_dump($uid =1) ⇒ true
php当中的一些松散函数
- strcmp()
比较两个字符串,str1>str2 返回>0,str1<str2 返回str2>str1. 两者相等,返回0,如果传入的一个是array则返回0;
- MD5
-md5需要的是一个string类型的参数,但当传递一个array是,MD5无法正常比较,会导致任意的两个MD5值相等 <