奇淫巧计 数组绕过strcmp函数

admin 2024年12月6日17:28:13评论6 views字数 509阅读1分41秒阅读模式

 

0x02 函数说明

1.strcmp函数

如果 str1 小于 str2 返回 < 0;如果 str1大于 str2返回 > 0;如果两者相等,返回 0。

奇淫巧计 数组绕过strcmp函数

0x03 数组绕过strcmp函数 CTF题解析

1.当我们传入payload:a[],路由过程如下

代码第1行:判断是否有a参数传入DEBUG:$_GET:{a => },这里有参数,所以pass

代码第2-8行:strcmp函数判断a传入的参数是否和$flag相等DEBUG:$_GET:{a => },这里[]数组和$flag不相等,但是我们传入的数组为非字符串类型的数据,这个函数将发生错误,在5.3之前的php中,显示了报错的警告信息后,将return 0 ! 也就是虽然报了错,但却判定其相等了,所以这里输出了flag

if (isset($_GET['a'])) {          if (strcmp($_GET['a'], $flag) == 0) //如果 str1 小于 str2 返回 < 0;如果 str1大于 str2返回 > 0;如果两者相等,返回 0。    //比较两个字符串(区分大小写)         die('Flag: '.$flag);      else          print 'No';  }
奇淫巧计 数组绕过strcmp函数

 

原文始发于微信公众号(鲲哥的Bypass之旅):奇淫巧计 数组绕过strcmp函数

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月6日17:28:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   奇淫巧计 数组绕过strcmp函数http://cn-sec.com/archives/2496236.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息