描叙 intval函数有个特性:"直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(\0)结束转换",在某些应用程序里由于对intval函数这个特性认识不够,错误的使用导致绕过一些安全判断导致安全漏洞. 二 分析PHP_FUNCTION(intval) { zval **num, **arg_base; int base; switch (ZEND_NUM_ARGS()) { case 1: if (zend_get_parameters_ex(1, &num) == FAILURE) { WRONG_PARAM_COUNT; } base = 10; break; case 2: 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() …… case IS_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函数来处理参数。 函数原型如下: long int strtol(const char *nptr,char **endptr,int base); 这个函数会将参数nptr字符串根据参数base来转换成长整型数,参数base范围从2至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[http://superhei.blogbus.com/logs/4255503.html] ----------------我是分割线(# 鬼仔:下面属于注释)---------------# 鬼仔注:这是 Superhei 搞的 Php Codz Hacking 的之一篇,相关的介绍在这里 http://www.80vul.com近期推出[PCH]Php Codz Hacking项目,该项目主要是对一些php应用安全有影响的'特性'或者'漏洞'在php源代码的基础上进行一些分析和探讨. 对于这个项目开始我们想了一个名称:"some features of php app sec",主要是源之80vul发表在即将面市的pstzine0x3里的一篇文章: * 分析php源代码,发现新的漏洞函数“特性”或者漏洞。(在上一节里介绍的那些“漏洞审计策略”里,都没有php源代码的分析,如果你要进一步找到新的字典,可以在php源代码的基础上分析下成因,然后根据这个成因来分析寻找新的漏洞函数“特性”或者漏洞。)(我们以后会陆续公布一些我们对php源代码的分析) 因为我们认为发现更多的php本身的特性或者漏洞,是以后php应用程序安全的主要的一个方向:).
在王者荣耀荣耀中,除了匹配和排位外,还有很多好玩的模式,例如深渊大乱斗、火焰山、五军对决、无限乱斗、克隆大作战等,也即将推出新的“吃鸡”模式等。当然,这些模式都各有各的特色,用一句话来说,就是玩家萝卜...
治标要先治本,要想除臭味就要先找到产生臭味的原因,穿运动鞋时我们的运动量一般比较大。会产生大量的脚汗,加上运动鞋一般是都胶质的,一热加上汗水就会产生臭味。 运动鞋除臭小妙招: 1、晚上用棉花沾...
一、24小时黑客在线接单qq(24小时在线黑客联系接单) 1、能接单的黑客qq群请先给出明确答复:黑客接单都是违法的,基本搜不到。 解释原因: 国家明确指定,进行黑客行为是违法的 腾讯也对黑客进...
6月22日,市委副书记、市长于立忠率队调研中国天楹,研究中国天楹循环经济产业园发展规划。市委常委、副市长卢忠平参加会议。 于立忠实地调研了生活垃圾焚烧、餐厨垃圾处理、等离子飞灰等项目现场,详细了...
手机微信东拉西扯记录删除了怎祥修复?换手机或者再度安装微信全是会把之前的手机微信东拉西扯记录抹除,这对于忘却备份数据数据信息手机微信东拉西扯记录的同犯来讲简直就是大劫难。抑郁,是我方法帮你应急处置手机...
B端产物的运营对较量于C端会有很大的区别,那么B端运营事情该如何展开?作者分享了本身的一些心得。 笔者今朝于一家To B的saas处事企业认真整体运营的事情,企业主攻偏向是为客户提供可定制化的软件及技...