[南邮OJ](Web)pass check


题目链接:

pass check 300
核心源码


题目链接:tip:strcmp(array,string)=null=0


分析:
打开网址如下 :

[南邮OJ](Web)pass check_第1张图片
Paste_Image.png

题目中提供了题目PHP的源码 , 对PHP的源码进行分析 :


所以我们要做的就是 : 需要让 @!strcmp($pass,$pass1 这个条件成立 .
想到使用php的弱类型漏洞 : (查询php的strcmp函数的API)

[南邮OJ](Web)pass check_第2张图片
Paste_Image.png

又通过百度得到了一篇关于php弱类型漏洞的文章 , 其中详细地测试了strcmp这个函数在不同类型的参数的情况下的返回值 :

[南邮OJ](Web)pass check_第3张图片
Paste_Image.png

因此尝试通过POST一个数组类型的变量pass来绕过检查 : (使用到了Chrome的Postman插件)

[南邮OJ](Web)pass check_第4张图片
Paste_Image.png

干货 :

[南邮OJ](Web)pass check_第5张图片
Paste_Image.png
[南邮OJ](Web)pass check_第6张图片
Paste_Image.png
[南邮OJ](Web)pass check_第7张图片
Paste_Image.png

答案:
nctf{strcmp_is_n0t_3afe}


知识点:

  1. php弱类型相关文章
  2. 浅谈php弱类型安全
  3. PHP 松散类型比较表

你可能感兴趣的:([南邮OJ](Web)pass check)