PHP教程:php内置函数intval()_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP教程:php内置函数intval()

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:函数内置教程base
黑客防线网安网讯:  WebjxCom提示:php内置函数intval()使用不当的安全漏洞分析    一、描述    intval函数有个特性:"直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时()结束转换"...
  WebjxCom提示:php内置函数intval()使用不当的安全漏洞分析
  
  一、描述
  
  intval函数有个特性:"直到遇上数字或正负符号才开始做转换再遇到非数字或字符串结束时()结束转换",在某些应用程序里由于对intval函数这个特性认识不够,错误的使用导致绕过一些安全判断导致安全漏洞.
  
  二、分析
  
  PHP_FUNCTION(intval)
  
  {
  
  zval**num,**arg_base;
  
  intbase;
  
  switch(ZEND_NUM_ARGS()){
  
  case1:
  
  if(zend_get_parameters_ex(1,&num)==FAILURE){
  
  WRONG_PARAM_COUNT;
  
  }
  
  base=10;
  
  break;
  
  case2:
  
  if(zend_get_parameters_ex(2,&num,&arg_base)==FAILURE){
  
  WRONG_PARAM_COUNT;
  
  }
  
  convert_to_long_ex(arg_base);
  
  base=Z_LVAL_PP(arg_base);
  
  break;
  
  default:
  
  WRONG_PARAM_COUNT;
  
  }
  
  RETVAL_ZVAL(*num,1,0);
  
  convert_to_long_base(return_value,base);
  
  }
  
  Zend/zend_operators.c->>convert_to_long_base()
  
  ……
  
  caseIS_STRING:
  
  strval=Z_STRVAL_P(op);
  
  Z_LVAL_P(op)=strtol(strval,NULL,base);
  
  STR_FREE(strval);
  
  break;
  
  当intval函数接受到字符串型参数是调用convert_to_long_base()处理接下来调用Z_LVAL_P(op)=strtol(strval,NULL,base);通过strtol函数来处理参数
  
  函数原型如下:
  
  longintstrtol(constchar*nptr,char**endptr,intbase);
  
  这个函数会将参数nptr字符串根据参数base来转换成长整型数,参数base范围从2至36,或0.参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等
  
  流程为:
  
  strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时()结束转换,并将结果返回。
  
  那么当intval用在if等的判断里面,将会导致这个判断实去意义,从而导致安全漏洞.
  
  三、测试代码
  
  //intval.php
  
  $var="20070601";
  
  if(intval($var))
  
  echo"it'ssafe";
  
  echo'$var='.$var;
  
  echo"
  
  ";
  
  $var1="1unionselect1,1,1fromadmin";
  
  if(intval($var1))
  
  echo"it'ssafetoo";
  
  echo'$var1='.$var1;
  
  四、实际应用
  
  WordPress<=2.0.6wp-trackback.phpZend_Hash_Del_Key_Or_Index/sqlinjectionexploit
  
  编辑整理
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17642-1.html
网站维护教程更新时间:2012-09-21 05:22:46  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer