【CTF】Reverse Backdoor 2015 Echo

来源: Backdoor CTF 2015

Little Suzie started learning C. She created a simple program that echo's back whatever you input. Here is the binary file. The vampire came across this service on the internet. nc hack.bckdr.in 8002. Reports say he found a flag. See if you can get it.

答案: 96f674623c2c378f89700aa46f02cf3b311489f0facdfac6fd5885d4bc1a129a

 

思路:

很简单,如果学过软件安全课做这一题会有似曾相识的感觉~

 

解决方案:

用IDA查看一下,点开main函数按F5,程序调用了test()函数

【CTF】Reverse Backdoor 2015 Echo

Test函数直接调用gets函数,因此存在缓冲区溢出漏洞

【CTF】Reverse Backdoor 2015 Echo

反编译后我们可以发现sample函数会读取从本地读取flag并输出,那么只需要将返回地址覆盖为sample函数地址即可

【CTF】Reverse Backdoor 2015 Echo

【CTF】Reverse Backdoor 2015 Echo

 

接下来确定溢出点(这里需要使用core dump文件)

【CTF】Reverse Backdoor 2015 Echo

0x31634130即0Ac1,因此可以确定在淹没返回地址之前需要62个字符填充

编写生成shellcode的python脚本

【CTF】Reverse Backdoor 2015 Echo

运行如下命令即可,当然用pwntools什么的高级玩意更轻松~

@Reference bluecake

你可能感兴趣的:(echo)