摘要:
题目链接:reverse3。 下载附件后,使用 IDA 打开,进行反编译,定位到 main 函数如下。 通过分析 main 函数流程,可以发现主要是对用户输入的字符串进行了两次操作,第一次是函数 "sub_4110BE",第二次是对函数 "sub_4110BE" 处理后得到的字符串进行简单的加减运算 阅读全文
摘要:
题目链接:xor。 下载附件后,使用 IDA 打开,并反编译,定位到 main 函数,如下。 通过查看 main 函数源码,可以发现该程序主要的操作如下。 for ( i = 1; i < 33; ++i ) __b[i] ^= __b[i - 1]; if ( !strncmp(__b, glob 阅读全文
摘要:
题目链接:reverse2。 下载附件后,使用 IDA 进行反编译,定位到 main 函数,如下。 main 函数中主要需要分析的地方如下。 for ( i = 0; i <= strlen(&flag); ++i ) { if ( *(&flag + i) == 'i' || *(&flag + 阅读全文
摘要:
题目链接:rip。 IDA 打开附件,进入到 main 函数,反编译后如下。 留意到存在 gets 函数,因此存在栈溢出漏洞,经过动态调试,确定在输入 0x17 个字符后,即可覆盖到返回地址。 同时,留意到存在 fun 函数,如下。 因此,直接将程序执行流劫持到 fun 函数,即可 GetShell 阅读全文