149得票5回答
为什么这段代码容易受到缓冲区溢出攻击的影响?

int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(bu...

10得票7回答
缓冲区是什么?

就我对编程语言的理解,缓冲区是存储数据的任何内存部分,例如int、float变量、字符数组等。然而,在了解缓冲区溢出时,我阅读关于堆栈的内容时发现了这个链接http://www.tenouk.com/Bufferoverflowc/Bufferoverflow2a.html。链接中的图将缓冲区...

12得票2回答
安卓应用崩溃。读取输入流时出错。

Android应用程序经常崩溃,以下是来自logcat的日志。 com.google.android.apps.gsa.shared.speech.a.g:从输入流读取错误 at com.google.android.apps.gsa.staticplugins.reco...

9得票4回答
在Snow Leopard中创建缓冲区溢出

作为大学计算机安全课程的一部分,我即将学习关于缓冲区溢出及其作为漏洞利用的方法。我正在尝试使用以下代码进行简单的缓冲区溢出: #include <stdio.h> #include <string.h> int main(int argc, char *argv[]...

8得票1回答
《黑客攻防技术宝典》一书中的缓冲区溢出示例

我正在阅读一本名为《漏洞利用艺术》的书,这是一本不错的书籍,我在 exploit_notesearch.c 文件中发现了一个例子。 简单来说,作者试图从 notesearch.c 中溢出程序。 int main(int argc, char *argv[]) { int useri...

7得票3回答
为什么我的栈缓冲区溢出攻击无法生效?

我有一个非常简单的stackoverflow问题: #include <stdio.h> int main(int argc, char *argv[]) { char buf[256]; memcpy(buf, argv[1],strlen(argv[1])...

7得票2回答
输入非 ASCII 字符到 scanf("%s") 函数中

有没有办法在使用%s的scanf中输入非ascii十六进制字符?我试图插入像\x08\xDE\xAD等十六进制字符(以演示缓冲区溢出)。输入不是命令行参数,而是程序内部的scanf。

109得票11回答
为什么应该使用strncpy而不是strcpy?

编辑:我已经添加了示例的来源。 我发现了这个示例:char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX...

14得票4回答
这个缓冲区为什么会被填满?

在此之前,我为这个问题的无用标题道歉,但似乎没有更合适的。 这里的想法是复制 argv 到另一个变量中,实质上是创建一个副本。因此,函数的基本思路是使用 malloc() 来请求一些空间进行复制,然后遍历 argv 并复制每个元素。 这是我正在使用的代码,目前的开发环境是 Visual S...

7得票1回答
snprintf和vsnprintf哪个更好,我如何确保安全使用它们?

我决定在旧代码上运行静态分析工具,结果发现我使用了大量的sprintf。该工具建议用vsnprintf或snprintf替换这些调用,因为sprintf不进行任何缓冲区溢出的边界检查。 我可以轻松地在调用上做查找和替换,使其使用snprintf或vsnprintf代替,但我想确保没有其他需要...