您当前位置: 首页 » 敏感函数 » intval()

intval()

2017年2月4日 | 发表评论(0) 查看评论

intval函数有个特性:”直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时()结束转换”,

直接来看代码

上面的代码运行后输出

根据结果可以得出intval()会过滤掉非数字的字符,这点用来进行字符过滤是没问题的,但是如果用intval()进行条件判断的话,就会产生逻辑错误,造成判断条件的绕过。只需第一个字符为非0数字即可使条件为真。

此类问题曾发生在wordpress2.0.6中

下载地址:http://download.gna.org/wordpress-zh/WordPress%20%d6%f7%b3%cc%d0%f2/%b0%e6%b1%be%202.0.x/wordpress_2.0.6_zh_CN.zip

在wp-trackback.php

$tb_id由$_GET获取,然后由intval($tb_id)判断后带入get_var,造成注入。

提交tb_id=’提示“I really need an ID for this to work.” 使用tb_id=1’即可绕过

 

分类:

敏感函数

| 标签: