
已解决问题
谷歌lcy_mylove用户在2016.04.21提交了关于“犰狳php内置函数intval()”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-27T09:19:39。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,谢了,下次有事儿别忘了找我 !
详细问题描述及疑问:期待您的答案,谢了,下次有事儿别忘了找我 !
一、描述
二、
Ph**P_FU
{
zval****m
intbase;
case1:
if(zend_get
WRONG_PARAM_CO
}
b
bre**;
case2
if(zend_get_parameters_ex(2,&**m,&arg_base)==FAILURE){
WRONG_PA
}
conver
base=Z_LVAL_
bre**;
de
WRONG_PARAM_COUNT;
}
RETV
convert_to_long_base(return_v
}
Zend/zen
……
c
strv
STR_FREE(strval);
bre**;
当
函数
这个函数会将参数nptr字符串根据参数base来转换
流程为
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_h**ash_Del_Key_Or_Index/sqlinjectionexploit