background image

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