0


buuctf [BJDCTF2020]Easy MD5

buuctf [BJDCTF2020]Easy MD5

一、解题思路

1.前面简单的步骤就不赘述了,直接抓包

在这里插入图片描述

**2.返回的信息中,可以直接看到提示

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

可以看到无论我们输入的什么参数都会被md5加密,这里又有一个精髓是——

ffifdyop

进行

md5

加密,这里比较巧的是经过

md5

加密后的数据,

276f722736c95d99e921722cf9ed621c

,**

在这里插入图片描述

**3.可以看到加密后的md5看着像十六进制编码,MySQL将十六进制转换为hex()通过加密后的md5值,使用hex解码

'or'6�]��!r,��b

,可以看到永真**

在这里插入图片描述

**4.这里就使用的是这个漏洞利用点,绕过md5()编码

ffifdyop

绕过**

在这里插入图片描述

5.成功绕到下一步

在这里插入图片描述

6.继续抓包,看到右边的提示

在这里插入图片描述

**7.根据返回的信息的提示,需要绕过的是md5的弱等于,它的要求是变量1和变量2要求不相等,然而,通过md5加密后的结果要进行相等。常用方式——
使用数组进行绕过

?a[]=1&b[]=2

**

在这里插入图片描述

8.进入到下一关,使用的md5的强碰撞,
在这里插入图片描述

**9.还是使用数组绕过

param1[]=1&param2[]=2

**

在这里插入图片描述

二、知识点总结

**1.

ffifdyop

经过

md5

加密后,使用

hex

解码可以转换为

'or'
  1. MySQL
    
    默认将十六进制数转换为
    hex()
    
    ;
    3…md5的强连接和弱连接使用
    数组
    
    绕过;**

本文转载自: https://blog.csdn.net/m_de_g/article/details/127779962
版权归原作者 山川绿水 所有, 如有侵权,请联系我们删除。

“buuctf [BJDCTF2020]Easy MD5”的评论:

还没有评论