练[BJDCTF2020]Easy MD5

[BJDCTF2020]Easy MD5

练[BJDCTF2020]Easy MD5_第1张图片

文章目录

      • [BJDCTF2020]Easy MD5
      • 掌握知识
      • 解题思路
      • 关键paylaod

掌握知识

​ 强等于和弱等于的MD5绕过,数据库查询的MD5加密绕过,代码审计

解题思路

  1. 打开题目链接,发现是一个post提交框,提交完了也就是url发生了变化,没啥头绪,查看一下源代码也没有hint,尝试抓取一下提交时候的数据包,发现在响应包中有一个hint头,里面是一个SQL语句,其passwdmd5加密的

练[BJDCTF2020]Easy MD5_第2张图片

练[BJDCTF2020]Easy MD5_第3张图片

  1. 之前查看md5绕过大全时,有注意到md5函数加密绕过SQL查询,有一个字符串通过md5加密后的结果会使SQL查询为真,进而绕过SQL语句进入到下一步,该字符串就是ffifdyop

image-20231005220148136

  1. 发现有返回了另外一个界面,界面只有简单一句你喜欢md5么,查看源码发现了php语句,传入的ab两个参数会进行自身比较和md5加密后比较,由于是弱等于可以使用数组进行绕过a[]=1&b[]=2

练[BJDCTF2020]Easy MD5_第4张图片

练[BJDCTF2020]Easy MD5_第5张图片

  1. 发现又跳转了一个新界面,而且还有一串代码,很明显还需要进行代码审计,真是套娃啊。该代码也是MD5的知识,使用数组也可以绕过强等于,只要没有吧参数强转成string属性就行,所以paylaod为param1[]=1¶m2[]=2。执行之后拿下flag

练[BJDCTF2020]Easy MD5_第6张图片

关键paylaod

ffifdyop

a[]=1&b[]=2

param1[]=1&param2[]=2

b[]=2

param1[]=1¶m2[]=2


你可能感兴趣的:(buuctf刷题,php,网络,网络安全,其他,笔记)