题目提示是md5.
传入的参数会通过md5哈希然后转成ascII码再进行查询.
于是尝试构成万能密码.‘or’XXXXXX
构造的字符串为:ffifdyop
有一个’./levels91.php’目录,访问他.
要求a!=b 且他们的md5值是相等的.
正常来说这几乎可以说是不可能的.但是这里有个漏洞,就是如果传参的类型错误,他们返回的都是false.那么他们也是相等的.于是传递两个数组类型.
a[]和b[],这里还是GET方式.
又得到一个php文件,继续访问他.
发现这里传回来的数据是一段代码,不太好看出来其逻辑关系,于是丢到浏览器去渲染一下.
得到:
<?php
error_reporting(0);
include "flag.php";highlight_file(__FILE__);if($_POST['param1']!==$_POST['param2']&&md5($_POST['param1'])===md5($_POST['param2'])){
echo $flag;
}
又是同样的套路,不过这里有个细节要注意,这里是用POST传递参数.
得到flag
flag{0b2ca6f8-7d82-4d10-af77-565422156302}