strcmp比较字符串

0x01

<?php
$flag = "flag{xxxxx}";
if (isset($_GET['a'])) {
if (strcmp($_GET['a'], $flag) == 0) //如果 str1 小于 str2 返回 < 0; 如果 str1大于 str2返回 > 0;如果两者相等,返回 0。
//比较两个字符串(区分大小写)
die('Flag: '.$flag);
else
print 'No';
}
?>

strcmp()

定义:

  • 比较两个字符串(区分大小写)

语法:strcmp(string1,string2)

  • 返回值为0,两字符相等
  • <0,string1<string2
  • 0,string1>string2

die()

定义:

  • 输出一条消息,并退出当前脚本
  • 该函数是exit()函数的别名。

语法:die(message)

0x02 代码分析

GET方式传参
比较传入变量a与变量flag大小
若相等,则输出flag

当传入非字符型数据的时候,函数同样返回0,使得变量相等,输出flag

http://123.206.87.240:9009/6.php?a[]=122

参考链接:
https://blog.csdn.net/qq_40980391/article/details/80114702

原文地址:https://www.cnblogs.com/observering/p/12829941.html