【发布时间】:2020-07-30 02:11:58
【问题描述】:
为什么这个 PHP 比较它不会返回 True,有没有办法让它返回 true?
<?php
highlight_file(__FILE__);
error_reporting(0);
$first = $_GET['first_flag'];
echo ' :: ' . md5($first);
echo ' :: ' . $first ."<br/>";
if($first == md5($first)){
echo "True";
}else {
echo "False";
}
?>
当我输入 QNKCDZO 时,它会返回:
:: 0e830400451993494058024219903391 :: QNKCDZO 假的
【问题讨论】:
-
一个字符串怎么可能等于它自己的一个md5哈希?
-
md5从字符串$first生成哈希。所以它永远不会相等。 -
这是 CTF ..这是我想不通的技巧
-
if (true || $first == md5($first)){欢迎您;p