zoukankan      html  css  js  c++  java
  • [BJDCTF2020]Easy MD5

    在输入框中随便输入一个值,点击提交,响应包中发现hint提示

     当存在md5($password,true)时,我们可以通过传递ffifdyop,让sql语句where后面语句变成password = 'xxxx' or true,达到永真,相当于万能密码

     具体原理参考文章:https://blog.csdn.net/March97/article/details/81222922

     输入ffifdyop后,进入下一个页面

     查看源代码,第5行存在md5()绕过漏洞

    1 <!--
    2 $a = $GET['a'];
    3 $b = $_GET['b'];
    4 
    5 if($a != $b && md5($a) == md5($b)){
    6     // wow, glzjin wants a girl friend.
    7 -->

    这里可以使用赋值数组的方式进行绕过,也可以使用0e开头的字符串绕过

    md5加密后以0e开头的字符串:
    QNKCDZO
    240610708
    s878926199a
    s155964671a
    s214587387a

    payload:

    http://1b56ab74-d369-444a-836f-7cc47b731bb5.node3.buuoj.cn/levels91.php?a[]=1&b[]=0

    又来到了新的页面,代码第7行同样存在md5()绕过漏洞,传递数组便可绕过

    1 <?php
    2 error_reporting(0);
    3 include "flag.php";
    4 
    5 highlight_file(__FILE__);
    6 
    7 if($_POST['param1']!==$_POST['param2']&&md5($_POST['param1'])===md5($_POST['param2'])){
    8     echo $flag;
    9 }
    payload:
    param1[]=1&param2[]=0

  • 相关阅读:
    C语言I博客作业02
    第一次作业
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    课程目标
    具体方面
  • 原文地址:https://www.cnblogs.com/gtx690/p/13235229.html
Copyright © 2011-2022 走看看