22得票2回答
返回lib_c缓冲区溢出练习问题

我需要编写一个利用“return to libc缓冲区溢出”的程序。当执行时,它会干净地退出并打开一个SHELL提示符。该程序在bash终端中执行。以下是我的C代码:#include <stdio.h> int main(int argc, char*argv[]){ ch...

22得票6回答
sscanf被认为是安全的吗?

我模糊地记得有人建议不要使用 sscanf。我知道如果使用字段宽度说明符,它不会溢出缓冲区,所以我的记忆是否正确?

20得票11回答
这个缓冲区溢出的后果是什么?

我认为我发现了一个小的缓冲区溢出问题,这是我在审查别人代码时发现的。它立即让我感到不正确,而且可能很危险,但是坦率地说,我无法解释这个“错误”的实际后果(如果有的话)。 我编写了一个测试应用程序来演示错误,但是发现(令我失望的是),似乎无论溢出与否,它都能正常运行。我想相信这只是偶然发生的,...

20得票4回答
缓冲区溢出攻击

我正在尝试执行一个非常简单的缓冲区溢出攻击。我对此基本上是新手。因此,如果这个问题很蠢,请原谅我 :-) 代码:#include<stdio.h> #include<stdlib.h> int i, n; void confused(int i) { prin...

19得票5回答
C语言中的缓冲区溢出问题

我正在尝试在Mac OS X 10.6 64位上使用C语言编写一个简单的缓冲区溢出。以下是该概念:void function() { char buffer[64]; buffer[offset] += 7; // i'm not sure how large offse...

19得票5回答
缓冲区溢出如何用于攻击计算机?

缓冲区溢出如何被用来攻击计算机? 通过引起栈或堆溢出,一个人如何能够执行任意代码? 我理解程序内存的一部分被覆盖了,但我不明白这怎么会导致一个人执行自己的代码。此外,第三方恶意代码必须是用目标处理器的汇编语言编写的吗?

19得票2回答
一个简单的栈溢出的Shellcode:在执行execve("/bin/sh")后,利用的程序直接终止。

我在Linux (amd64)上玩弄了缓冲区溢出,并尝试利用一个简单的程序,但失败了。我禁用了安全功能(用sysctl -w kernel.randomize_va_space=0来禁用地址空间布局随机化和bios中的nx位)。它跳转到栈并执行shellcode,但没有启动shell。exec...

19得票1回答
堆溢出攻击

堆溢出攻击是如何执行的? 在堆栈溢出攻击中,攻击者会用自己选择的地址替换函数返回地址。 那么,在堆溢出攻击中又是如何做到这一点的呢?此外,是否可能从堆上运行代码?

18得票11回答
哪些C/C++函数最容易被错误使用并导致缓冲区溢出?

我被要求维护一个充满内存泄漏的大型C++代码库。在研究时,我发现我们有很多导致内存泄漏的缓冲区溢出(我不想知道它是如何变得如此糟糕的)。 我已经决定首先消除缓冲区溢出,从危险函数开始。哪些C/C++函数最容易被不正确使用并可能导致缓冲区溢出? 对于编译器和/或用于帮助查找缓冲区溢出的工具,...

18得票1回答
GCC是否生成Canary?

我的gcc版本是4.8.2,操作系统是ubuntu 14.04(64位)。 我发现有时候gcc会自动生成canary以进行缓冲区溢出保护,有时却不会。为什么? 生成canary的情况:当SIZE是4的倍数时。#include<stdio.h> #define SIZE 4 int...