标签:字符 打印 爆破 Reverse elrond32 flag 0x69 暴力破解 函数
攻防世界elrond32(暴力破解方法)
IDA分析
GDB调试爆破
- 设置参数,因为是爆破,参数随便填
- 在call判断函数处下断
- 跟进程序
- 观察发现此处在进行字符对比,al 如果不等于 0x69,则执行退出代码。
- 将eax设置为 0x69,使跳转成功。
- 0x69 在ASCII字符表中是字符 " i ",那么要求输入的参数第一位就是 " i " 。
- 程序会进行下一个字符的判断,循环上面的方法,得到最后的字符串为 " isengard " 。
- 程序判断完成后会打印出 " Access granted " ,进入下一个打印flag函数。
- 重新运行调试,将参数设置为得到的字符串 " isengard " 。
- 在打印flag函数设置断点,然后单步步入。
- 函数会将打印成功的消息," Access granted " 替换为flag。如下图:
- 一直运行到结束,可以看到cmp指令,循环0x20次,也就是32个字符。
- 最后得到flag为:flag{s0me7hing_S0me7hinG_t0lki3n}
总结
之前做过一个特复杂的加密算法题,不知道是Salsa20,还是Chacha,有好几百行的代码,如果真的去分析算法其实不如爆破来得快,当时花了一个多小时就爆破出来了。此方法类似于SQL盲注,虽然有点无脑,没有技术含量,但是好用。对于复杂的加密算法有奇效。如果利用代码进行注入来爆破效率更快,下来再研究研究具体怎么实现。
标签:字符,打印,爆破,Reverse,elrond32,flag,0x69,暴力破解,函数 来源: https://blog.csdn.net/weixin_44644249/article/details/113704717
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。