[BJDCTF2020]Easy MD5 1

时间:2021-08-20
本文章向大家介绍[BJDCTF2020]Easy MD5 1,主要包括[BJDCTF2020]Easy MD5 1使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.发现

1.1先查看源代码,随便注入,都无果,bp抓包,发现SQ语句

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

知识点:

1)PHP中MD5函数

 2.步骤

2.1 利用md5($password,true)实现SQL注入,输入ffifdyop实现注入,进入下一关。

知识点:

1)MD5函数的SQL注入

2.2 进入第二关后右键查看源代码可以从注释中得到后端PHP的一部分源码,发现为PHP md5弱类型比较

 使用GET方法传入?a=QNKCDZO&b=s214587387a,进入下一关。

知识点:

1)MD5函数的弱类型比较

2.3 发现PHP代码,分析仍为 PHP md5绕过。

使用数组绕过POST传入param1[]=1&param2[]=2,得到flag。

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

highlight_file(__FILE__);

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

知识点:

1)MD5 函数的数组绕过

3.借鉴

[BUUOJ记录] [BJDCTF2020]Easy MD5 - Ye'sBlog - 博客园 (cnblogs.com)

PHP弱类型hash比较缺陷 - Ye'sBlog - 博客园 (cnblogs.com)

原文地址:https://www.cnblogs.com/WHOAMI-xiaoyu/p/15164883.html