strcmp() 函数
strcmp() 函数比较两个字符串,且区分大小写 。
语法:strcmp(string1,string2)
返回值:
1 | 0 - 如果两个字符串相等 |
实例:
1 | <?php |
strcmp() 函数漏洞
注:这一个漏洞适用与5.3之前版本的php
题目代码:
1 |
|
使用GET方法获取参数a,使用strcmp()函数比较$flag
与用户输入的值。
传入的期望类型是字符串类型的数据 ,但是这个函数当接受到不符合字符串类型的参数就会发生错误,并返回0
所以我们只需要提交一个非字符串类型的参数即可使得判断条件成立,比如使用数组类型
解题方法:
GET请求:?a[]=2
因为strcmp()无法比较数组,则报错并返回0,0==0成立,则输出flag。