【发布时间】:2015-07-03 02:55:51
【问题描述】:
我已经阅读了关于 堆栈缓冲区溢出 和堆溢出的 5 篇论文/文章和 2 个视频。我编写了一个易受攻击的溢出和利用的程序,在端口 7777 上运行了一个易受攻击、溢出和利用的服务器。但我不明白的是如何在 Windows(或其他操作系统)或软件中查找漏洞。我正在使用 gcc 和 gdb 进行调试,以找到编写漏洞利用程序所需的一切。如何在其他程序/软件上找到堆栈缓冲区溢出漏洞以及如何调试易受攻击的程序或可以使用 gdb?
【问题讨论】:
-
gcc 和 gdb 也可用于 Windows。
-
你能告诉我你是如何实现你所说的两个漏洞的吗?特别是我想知道的目标操作系统。
-
如果您尝试做的事情是合法的,那么我认为您可以请求并接收您想要测试其弱点的软件的源代码。
-
我溢出/利用的第一个程序是一个简单的程序,它接受输入并将其保存到缓冲区而不检查边界。使用 gcc 和 gdb 查找需要多少字节才能到达帧指针。这是在 Windows 7 64 位上完成的。第二个漏洞利用是远程漏洞利用,我在笔记本电脑上托管了一个服务器(操作系统是 kali-linux),服务器程序允许计算机连接到它,然后可以接受输入(命令)并且没有检查它的边界。我将 gdb 连接到服务器,一旦缓冲区溢出,我使用 gdc 和核心转储来查找堆栈指针的位置 - 到 icbytes
标签: c memory stack-overflow heap-memory exploit