标签:
来源: 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()函数
Test函数直接调用gets函数,因此存在缓冲区溢出漏洞
反编译后我们可以发现sample函数会读取从本地读取flag并输出,那么只需要将返回地址覆盖为sample函数地址即可
?
接下来确定溢出点(这里需要使用core dump文件)
0x31634130即0Ac1,因此可以确定在淹没返回地址之前需要62个字符填充
编写生成shellcode的python脚本
运行如下命令即可,当然用pwntools什么的高级玩意更轻松~
@Reference bluecake
【CTF】Reverse Backdoor 2015 Echo
标签:
原文地址:http://www.cnblogs.com/windcarp/p/4441726.html