36,或 0.参数 base 代表采用的进制方式,如 base 值为 10 则采用 10 进制,若 base 值为 16 则采
用 16 进制等。
流程为:
strtol()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开
始做转换,再遇到非数字或字符串结束时(\0)结束转换,并将结果返回。
那么当 intval 用在 if 等的判断里面,将会导致这个判断实去意义,从而导致安全漏洞.
三、测试代码
//intval.php
$var="20070601";
if (intval($var))
echo "it's safe";
echo '$var='.$var;
echo "
";
$var1="1 union select 1,1,1 from admin";
if (intval($var1))
echo "it's safe too";
echo '$var1='.$var1;
?>
四、实际应用
WordPress <= 2.0.6 wp-trackback.php Zend_Hash_Del_Key_Or_Index / sql injection exploit