三个白帽条条大路通罗马系列2之二进制题分析
if (i==strlen(result))
{
puts("got it!!!");
printf("%s%s%s%s\n",infos[0][in1].mw,infos[1][in2].mw,infos[2][in3].mw,infos[3][in4].mw);
}
}
}
}
}
}
}
0x03 验证
破解代码运行后结果如下:

得到了两个结果:
分别输入两个结果,显示如下:

第一个结果,输入后没任何反应,也不提示错误。第二个输入后成功得到flag。
分析认为这个加密算法有2个解,但是最终能解密FLAG的只有第二个才可以。
0x04 总结
本题主要是通过两次HASH运算 并分别进行验证的方式加密;两次都可以根据已知限制条件,分别采用暴力枚举的方式进行暴力破解。虽然破解代码量有点大,但是破解速度并没有收到影响,执行破解代码后能马上得到结果!
文中有分析不当或不周全的地方,希望大家批评指正!
【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。