3dsctf专题

【CTF】get_started_3dsctf_2016

解题思路: 1 先反编译,第一印象代码比较多、杂,找main函数找了半天才找到。 undefined4 main(void){char local_38 [56];printf("Qual a palavrinha magica? ");gets(local_38);return 0;} 2 看main函数,第一感觉是典型的栈溢出。然后就是ELF的一些保护。 Arch: i38

BUUCTF--get_started_3dsctf_20161

这题我本来以为是简单的ret2text.结果还是中了小坑。 先看保护: 32位程序,接下来测试下效果: 看看IDA中逻辑: 题目一进来有很多函数,盲猜是静态编译了。而且在函数堆中发现了个get_flag。信心慢慢的直接写代码返回get_flag地址。结果发现打不通。最终发现问题如下: 1.打远程的时候他将会判断参数是否合规,因此我们要构造get_flag的