14得票1回答
Valgrind无法检测到缓冲区溢出。

#include <stdio.h> main() { char buf[8]; sprintf(buf,"AAAA%3s","XXssssssssXXXsssssXXX"); printf("%s\n",buf); } 我期望valgrind能检...

8得票4回答
缓冲区溢出无效。

我正在尝试在一个需要密码的简单程序上进行缓冲区溢出(我正在使用Linux)。以下是程序代码: #include <stdio.h> #include <stdlib.h> #include <string.h> int check_authenticat...

17得票1回答
当TCP内部缓存填满时会发生什么?

假设我们有以下TCP套接字设置,其中客户端向服务器发送任意数据。将以下内容视为伪代码。 def client(): while True: data = source.get_data() client_socket.s...

16得票3回答
“printf("%s", argv[1]);”这行代码的内存漏洞应该描述为堆栈溢出吗?

今天,我在Elance.com上参加了一次短暂的"C++技能测试"。其中一个问题如下: 什么是以下代码行的安全漏洞: printf("%s", argv[1]); 选项1:格式化字符串 选项2:堆栈溢出 堆栈溢出的标准定义: 在软件中,当堆栈指针超过堆栈边界时,就会发生堆栈溢出。调用...

35得票5回答
如何触发缓冲区溢出?

我得到了一个作业任务,要求使用缓冲区溢出来调用一个函数而不需要显式地调用它。代码基本上是这样的:#include <stdio.h> #include <stdlib.h> void g() { printf("now inside g()!\n"); } ...

8得票3回答
PHP缓冲区溢出可能吗?

可能重复: 如何在PHP/Python中进行缓冲区溢出攻击? 我正在阅读这个教程,当我看到这个时: 缓冲区溢出攻击试图溢出您的PHP应用程序内部的内存分配缓冲区,或者更严重的是,在Apache或底层操作系统中。请记住,您可能正在使用像PHP这样的高级语言来编写Web应用程序,但归根...

10得票4回答
缓冲区溢出和返回至libc攻击的区别

我想了解这两种攻击之间的确切区别。根据我所了解的: 缓冲区溢出:它覆盖栈上的ret地址,使其指向代码的另一部分,其中插入了恶意代码。因此,我们需要修改程序的源代码才能实际执行攻击。 返回到Libc:这里不是修改源代码,而是使用由C库提供的运行时函数调用(比如打开一个shell)。在这里,用...

9得票6回答
缓冲区溢出攻击的预防技术是什么?

如何预防缓冲区溢出攻击?我听说过Stackguard,但是仅仅应用Stackguard技术是否完全解决了这个问题? 作为一名经验丰富的程序员,你认为为何为缓冲区溢出攻击提供足够的防御措施如此困难? 编辑:感谢所有回答并保持安全标签活跃 :)

99得票7回答
如何在C语言中防止scanf引起缓冲区溢出?

我使用这段代码:while ( scanf("%s", buf) == 1 ){ 如何最好地防止缓冲区溢出,以便可以传递随机长度的字符串? 我知道我可以通过调用例如:while ( scanf("%20s", buf) == 1 ){ 但我希望能够处理用户输入的任何内容。 或者使用scanf...

8得票3回答
缓冲区溢出攻击:为什么“jmp esp”需要位于DLL中?

我试图理解经典的缓冲区溢出漏洞,即输入缓冲区覆盖堆栈、保存在堆栈上的函数返回地址和上部内存区域(通常用于放置shell代码)的情况。互联网上有许多这方面的例子,我认为我已经理解得很好了: 1. 输入数据超过开发人员设定的固定大小的输入缓冲区。 2. 溢出的输入将覆盖堆栈上调用函数的函数参数和...