# PHP弱类型绕过 # PHP弱类型绕过 ## strcmp()绕过 `strcmp()` 是 PHP 中用于比较两个字符串的函数。它将返回一个整数值,该值表示两个字符串的比较结果 - 如果两个字符串相等,则返回 0 - 如果第一个字符串按字典顺序小于第二个字符串,则返回一个负数 - 如果第一个字符串按字典顺序大于第二个字符串,则返回一个正数 示例: ```php 0) { echo "第一个字符串在字典顺序上大于第二个字符串"; } /* 运行将输出: 两个字符串相等 第一个字符串在字典顺序上小于第二个字符串 第一个字符串在字典顺序上大于第二个字符串 */ ?> ``` 绕过场景: ```php ``` 上述场景的意思是 php_engineer 传进来的字符串要和 elephant 字符串相等,但是 elephant 字符串是在 secret.php 中,不可见 绕过方式:令 php_engineer[]=xxx **strcmp() 比较的是字符串类型,如果强行传入其他类型参数会出错,出错后返回值为0,正是利用这点进行绕过** ​ ​