题目
打开题目,查看源代码发现code.txt界面,点开来发现源码
<?php
if(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){
$v1 = $_GET['v1'];
$v2 = $_GET['v2'];
$v3 = $_GET['v3'];
if($v1 != $v2 && md5($v1) == md5($v2)){
if(!strcmp($v3, $flag)){
echo $flag;
}
}
}
?>
需要的条件是v1不等于v2,但它们md5加密后的值需要相等,这里是弱比较,可以用md5加密后,开头为0e
的字符串来绕过,有需要仔细了解可以看我这篇文章
其次是需要绕过strcmp,官网介绍
主要看以下示例:
这里if需要为false,在弱比较里面,null就等同于false,所以组成数组就可以绕过
payload:
?v1=240610708&v2=s878926199a&v3[]=1