安全矩阵

 找回密码
 立即注册
搜索
查看: 2850|回复: 0

CTF竞赛中“=”、“==”和“===”实例解析

[复制链接]

141

主题

153

帖子

517

积分

高级会员

Rank: 4

积分
517
发表于 2022-3-10 16:51:31 | 显示全部楼层 |阅读模式
CTF竞赛中“=”、“==”和“===”实例解析原创 yushao [url=]web安全工具库[/url] 2022-03-10 00:00
收录于话题
#CTF竞赛1个
#网络安全21个
一、“=”是赋值,“==”是弱对比,“===”是强对比
print_r("***************\r\n");if (1=='1'){    print_r("aiyou!!!");}if (1==='1'){    print_r("bucuoo!!!");}运行结果:aiyou!!!二、特殊情况下不同的字符,md5结果相同​​​​​​​
if (md5(s878926199a)==md5(240610708)){    echo md5(s878926199a);    echo "\r\n";    echo md5(240610708);    echo "\r\n";    echo "我们一样!!!";}if (md5(123)!=md5(321)){    echo "\r\n";    echo "我们不一样!!!";}运行结果:0e5459932745177090343288558410200e462097431906509019562988736854我们一样!!!我们不一样!!!三、CTF实例演示:请提供符合条件的用户名和密码​​​​​​​
$flag='已满足报名条件!!!';if ($_GET['name']!=$_GET['pwd']){    if (md5($_GET['name'])==md5($_GET['pwd'])){        echo $flag;    }}运行结果:

四、解析说明:
PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以“0E”开头的哈希值都解释为0,如果两个不同的值经过哈希以后,都是0E开头,那么PHP将会认为他们相同。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-24 12:04 , Processed in 0.014383 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表