美文网首页
MD5 in RE:CISCN2018 RE

MD5 in RE:CISCN2018 RE

作者: BJChangAn | 来源:发表于2018-04-30 20:32 被阅读0次

    emmmm,相比去年的全国大学生信安竞赛技能赛今年的提早了不少,还是只做出了一道逆向题orz

    ida先分析一下,看到一堆__ROL__移位,果断用PEID的插件krypto analyzer查一下加密算法,果然检测到了md5加密。

    结合动态调试,虽然中间各种函数但是其实都是md5的中间过程,可以看作一个黑盒,只需要考虑最后的md5加密结果。

    程序的验证分为三部分,分别对应flag的三段,中间用 “_” 隔开。

    part1

    第一部分就是单纯的md5加密,直接拿最后作比较的md5去一些在线解密网站就可以得到flag的第一部分。

    part2

    第二部分的检验大致和第一部分相同,只是在最终生成md5结果之前,对中间结果做了一个异或,然后经由最后一个函数生成最终的加密结果。稍微卡了一会,最后还是通过动态调试发现虽然是对md5加密中间值做了异或,但其实等同于对最终结果做异或(因为最后剩下那个函数仅仅完成一些编码功能),那么拿用来比较的值异或回来,解md5得到flag的第二部分

    part3

    乍一看和part2在算法上完全一样,只是最后用来比较的值不同,用相同的方法解md5,却发现在线解密都解不出结果,考虑到part3长度为15(不包括最后的 “{” ),爆破也是不现实的,卡住。

    再往后看发现part3验证通过后会生成一个很大的flag文件。flag文件内容的生成过程也可以看到,其实只取决于第三部分flag的第四、第五个字节,两个可见字符完全可以爆破了,生成一堆文件,并用python的filetype库进行文件格式识别。

    队友直接猜出是jpg格式(根据jpg文件头0xff 0xd8 0xff 0xe0)

    异或后生成flag文件

    得到一张jpg图片,点开发现就是第三部分的flag(中间有一个 " * " 难怪在线破解找不到)

    相关文章

      网友评论

          本文标题:MD5 in RE:CISCN2018 RE

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