首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

代码审计Day1 - in_array函数缺陷

因为PHP在使用 in_array() 函数判断时,会将 7shell.php 强制转换成数字7,而数字7在 range(1,24) 数组中,最终绕过 in_array() 函数判断,导致任意文件上传漏洞...(这里之所以会发生强制类型转换,是因为目标数组中的元素为数字类型)我们来看看PHP手册对 in_array() 函数的定义。...in_array :(PHP 4, PHP 5, PHP 7) 功能 :检查数组中是否存在某个值 定义 : bool in_array ( mixed $needle , array $haystack...例如将 in_array() 函数的第三个参数设置为 true ,或者使用 intval() 函数将变量强转成数字,又或者使用正则匹配来处理变量。...这里我将 in_array() 函数的第三个参数设置为 true ,代码及防护效果如下: 结语 看完了上述分析,不知道大家是否对 in_array() 函数有了更加深入的理解,文中用到的CMS可以从

92910

PHP代码审计01之in_array()函数缺陷

> 这一关考察的是任意文件上传漏洞,导致这个漏洞发生的是上方代码中,对in_array()函数使用不规范导致的。这里详细说一下in_array()函数的用法。...现在看上方代码第12行,这里使用了in_array()函数来检查文件名,但是没有设置第三个参数!,只会进行弱类型比较,不会检查数据类型。...in_array($id, $whitelist)) { echo "你想搞事"; } else { echo "你通过了"; } ?...in_array(id, whitelist,true)),再执行就会输出:“你想搞事”。 现在是不是对in_array()函数有了一个大概的了解呢?那让我们做一道同类型CTF题目来加深巩固一下。...小结 通过这篇文章的讲解,是不是对in_array()理解更深了一些呢?下一篇文章会对filter_var函数缺陷导致的漏洞进行学习和分析,一起努力吧!

1.6K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券