问题标签 [buffer-overflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
7618 浏览

c - 被 gdb print ptr vs print "%s" 弄糊涂了

为什么 ptr 正确打印字符串但 cwd 不正确;这也会影响程序,如果我尝试使用 cwd,它会崩溃......

[编辑:原来崩溃是由这个 var 上的愚蠢缓冲区溢出引起的……grr……不是 gdb,但打印问题仍然有效]

0 投票
6 回答
1542 浏览

c - 如何克服 snprintf 在不同的类 UNIX 操作系统中的不一致行为?

根据手册页,snprintf 返回从 glibc 2.2 版开始写入的字节数。但在较低版本的 libc2.2 和 HP-UX 上,它返回一个正整数,这可能导致缓冲区溢出。

如何克服这一点并编写可移植的代码?

编辑:为了更清楚

此代码在 lib 2.3 中完美运行

它在 Linux 上返回字符串 (10) 的长度。但相同的代码返回的正数大于 HP-UX 机器上打印的字符数。希望这个解释很好。

0 投票
3 回答
8110 浏览

c# - 在完全托管的 asp.net c# web 应用程序中是否可能出现缓冲区溢出/溢出

完全托管的 asp.net 门户网站中是否存在缓冲区溢出/溢出漏洞。如果是,如何对其进行测试。

0 投票
11 回答
7805 浏览

c++ - 哪些 C/C++ 函数最常被错误使用并可能导致缓冲区溢出?

我被要求维护一个充满内存泄漏的大型 C++ 代码库。在四处寻找时,我发现我们有很多导致泄漏的缓冲区溢出(它是如何变得如此糟糕,我不想知道)。

我决定先删除缓冲区溢出,从危险函数开始。哪些 C/C++ 函数最常被错误使用并可能导致缓冲区溢出?

对于用于帮助查找缓冲区溢出的编译器和/或工具,我创建了另一个处理此问题的问题

0 投票
14 回答
22337 浏览

c++ - 哪些 C/C++ 工具可以检查缓冲区溢出?

我被要求维护一个充满内存泄漏的大型 C++ 代码库。在四处寻找时,我发现我们有很多导致泄漏的缓冲区溢出(它是如何变得如此糟糕,我不想知道)。

我决定先删除缓冲区溢出。为了让我更容易寻找错误,可以使用哪些工具来检查缓冲区溢出?

0 投票
7 回答
961 浏览

c - 自定义获取行输入功能

我正在阅读 K&R 的书,有点卡住了。

以下有什么问题?

当我运行程序时,它永远不会退出循环,我必须Ctrl+C退出。但是,如果我用 替换第五行printf("%c", c);,它会在按 Enter 并创建新行后打印出所有输入。

0 投票
3 回答
6356 浏览

c - C中的堆栈溢出利用

问题实际上是关于 C 中的堆栈溢出。我有一个我一生都无法完成的任务,我查看了 gdb 中的所有内容,但我无法理解。

问题如下:

好的,所以我设法正确地得到了第一个问题,即任意调用主路径中未显式调用的两个函数之一。顺便说一句,这必须在运行程序时完成,无需任何修改。我通过运行程序来做到这一点,设置N7,这让我到了victim_func帧的函数指针,我a[7]用混淆或的内存地址写入shell_call,它可以工作。(我有一台 64 位机器,这就是为什么我必须将其设置为 7,因为 EBI 指针是 2 个整数宽,而不是 1)

我的问题如下,我如何控制将哪个参数传递给函数shell_code?IE。我怎么写string重点是通过仅运行程序来执行pschar* cunix 命令。

我想用ps的十六进制表示来编写 EBI 指针并将 arg 列表设置shell_call为此,但这不起作用。我也尝试输入argsv参数并将 arg 列表设置shell_callarg_listmain,但也没有工作。

我认为第二个版本应该可以工作,但我相信我没有正确设置新堆栈帧的 arg 列表(我是通过写入a[8]来完成的0,因为它是函数指针的第一部分,并且写入a[9]=736cand a[10]=0000,但它可能不对,因为这些是 的参数victim_func。那么如何访问 的参数shell_call

0 投票
5 回答
6024 浏览

security - 缓冲区溢出如何用于利用计算机?

缓冲区溢出如何用于利用计算机?

一个人如何能够仅仅通过导致堆栈溢出来执行任意代码?

我知道程序内存的某些部分被覆盖了,这是不应该的,但我不明白这如何导致执行他们自己的代码。另外,第三方的恶意代码必须用目标处理器的汇编语言编写吗?

0 投票
10 回答
79934 浏览

java - Java有缓冲区溢出吗?

Java有缓冲区溢出吗?如果是,你能给我一些场景吗?

0 投票
7 回答
808 浏览

c - Secure C 和大学 - 受过缓冲区溢出培训

我最近完成了 C 的大学课程。因此,我当然缺乏经验。

一些大学倾向于教他们的学生安全编程,或者至少教一些元素。甚至还有一段视频(取自这里)。

在 C 语言中,复制字符串需要 - 据我所知 - strcpy 或 string.h 函数。您如何在日常编程中安全地使用它?你有一些函数来处理分配以防止缓冲区溢出吗?有C 的 CERT 安全编码标准。它提供了示例和合规的解决方案:

他们的替代方案是:

取自这里,第二个例子

但据我所知,这只是更具挑战性、更多代码、更多工作。为什么没有人改变图书馆本身?或者至少为什么没有人提供安全的替代库或函数,以正确的方式处理这个问题?

感谢阅读,祝