[BJDCTF2020]Easy MD5
文章目录
- [BJDCTF2020]Easy MD5
- 掌握知识
- 解题思路
- 关键paylaod
掌握知识
强等于和弱等于的MD5
绕过,数据库查询的MD5
加密绕过,代码审计
解题思路
- 打开题目链接,发现是一个
post
提交框,提交完了也就是url
发生了变化,没啥头绪,查看一下源代码也没有hint
,尝试抓取一下提交时候的数据包,发现在响应包中有一个hint头,里面是一个SQL语句,其passwd
被md5
加密的
- 之前查看
md5
绕过大全时,有注意到md5
函数加密绕过SQL查询,有一个字符串通过md5
加密后的结果会使SQL查询为真,进而绕过SQL
语句进入到下一步,该字符串就是ffifdyop
- 发现有返回了另外一个界面,界面只有简单一句你喜欢
md5
么,查看源码发现了php语句,传入的ab两个参数会进行自身比较和md5加密后比较,由于是弱等于可以使用数组进行绕过a[]=1&b[]=2
。
- 发现又跳转了一个新界面,而且还有一串代码,很明显还需要进行代码审计,真是套娃啊。该代码也是
MD5
的知识,使用数组也可以绕过强等于,只要没有吧参数强转成string
属性就行,所以paylaod为param1[]=1¶m2[]=2
。执行之后拿下flag
关键paylaod
ffifdyop
a[]=1&b[]=2
param1[]=1¶m2[]=2
b[]=2
param1[]=1¶m2[]=2