ctf.show_web5

ctf.show_web5_第1张图片这道题就是代码的审计也就是我们要看出每一行代码都是什么作用。

<?php
        $flag="";
        $v1=$_GET['v1'];
        $v2=$_GET['v2'];
        if(isset($v1) && isset($v2)){
            if(!ctype_alpha($v1)){
                die("v1 error");
            }
            if(!is_numeric($v2)){
                die("v2 error");
            }
            if(md5($v1)==md5($v2)){
                echo $flag;
            }
        }else{
        
            echo "where is flag?";
        }
    ?>

只要用get传参将里面的v1和v2的md5的值相等就可以了。(这里面也就是只要是MD5值以0e开头的都会默认相等)
这个里面我们v1要用字母的MD5原值。v2用数字的MD5的原值构造一个

?v1=QNKCDZO&v2=240610708

在这里插入图片描述

https://blog.codefat.cn/2019/12/10/0e%E5%BC%80%E5%A4%B4%E7%9A%84md5%E5%92%8C%E5%8E%9F%E5%80%BC/

这个是常见的MD5原值以0e开头的。

你可能感兴趣的:(Web,安全,web安全)