问题标签 [fortify-source]

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 投票
12 回答
36732 浏览

c++ - 什么是缓冲区溢出,如何导致?

我听说过缓冲区溢出,我想知道如何导致缓冲区溢出。

有人可以给我看一个小的缓冲区溢出示例吗?新的(它们的用途是什么?)

0 投票
5 回答
10254 浏览

c - 如何调用缓冲区溢出?

我有一个家庭作业要求我调用一个函数而不显式调用它,使用缓冲区溢出。代码基本上是这样的:

虽然我不确定如何进行。我考虑过更改程序计数器的返回地址,以便它直接转到 g() 的地址,但我不确定如何访问它。无论如何,提示会很棒。

0 投票
4 回答
7948 浏览

c - 在 Mac os 10.6 上执行简单的缓冲区溢出

我正在尝试了解堆栈基溢出并编写一个简单的代码来利用堆栈。但不知何故,它根本不起作用,只在我的机器上显示中止陷阱(mac os leopard)

我猜Mac os对溢出的处理方式不同,它不允许我通过c代码覆盖内存。例如,

在 Linux 机器上,此代码成功覆盖下一个堆栈,但在 mac os 上阻止(中止陷阱)

有人知道如何在 mac 机器上执行简单的基于堆栈的溢出吗?

0 投票
7 回答
35943 浏览

c - sprintf 函数的缓冲区溢出?

会发生什么?

缓冲区有 8 个字符的空间,只剩下 3 个空闲字符,但是,“XXXXXXXX”是 8 个字符长。

我在 Windows 7 上使用 Visual Studio 2008 进行了测试。结果,程序打印了 AAAXXXXXXX,并发生了运行时错误。

0 投票
4 回答
1144 浏览

c - 在雪豹中创建缓冲区溢出

作为大学计算机安全课程的一部分,我很快将学习缓冲区溢出以及如何将它们用作漏洞利用。我正在尝试使用以下代码进行一些简单的缓冲区溢出:

如果我运行,我可以用空终止符覆盖 buffer_one 的内容

但是如果我发送超过 16 个字符作为参数,程序会发送 Abort 陷阱。我想这是雪豹上的某种缓冲保护(也许是 ASLR?)。如果让 buffer_two 的大小 < 16,则地址仍然相隔 16 位

我正在运行gcc -o overflow overflow.c -fno-stack-protector以删除堆栈保护

除了安装运行 linux dist 的 VM 之外,有没有解决这个问题的方法?

0 投票
2 回答
5746 浏览

c++ - 使用 __sprintf_chk() 禁用

我观察到一个 c++ 程序使用sprintfsprintf 隐式调用__sprintf_chk(). 这__sprintf_chk()似乎通过检查堆栈帧来检查缓冲区溢出。

出于我的研究目的,我想知道是否可以禁用 using __sprintf_chk()

0 投票
4 回答
39582 浏览

c - 如何防止 memcpy 缓冲区溢出?

程序中有一些固定大小的二进制缓冲区用于存储数据,而 memcpy 用于将缓冲区从一个缓冲区复制到另一个缓冲区。由于源缓冲区可能大于目标缓冲区,如何检测是否存在缓冲区溢出?

0 投票
1 回答
4732 浏览

c++ - Mac OS X Lion 上的 OpenMP 编译失败(memcpy 和 SSE 内部函数)

我偶然发现了以下问题。下面的代码片段在 Mac OS X 上没有与我尝试过的任何 Xcode 链接(4.4、4.5)

该代码仅作为示例提供,运行时会出现段错误。关键是它不编译。使用以下行完成编译

使用-fopenmp标志时,代码编译得很好gcc。现在,我四处搜索并找到了与 相关的第一个问题的解决方案memcpy,即添加-fno-builtin-D_FORTIFY_SOURCE=0gcc参数列表。我没有设法解决第二个问题(sse 内在)。

谁能帮我解决这个问题?问题:

  • 最重要的是:如何摆脱“___builtin_ia32_shufpd”错误?
  • 问题的确切原因是memcpy什么,-D_FORTIFY_SOURCE=0标志最终会做什么?
0 投票
1 回答
4080 浏览

c - Format String Attack

I have a small C program to be exploited. And I also understood the logic behind the attack to be performed. However, as much as I try, it is just not working for me.

I just need to print the address and value of secret[0] using the format string "printf(user_input);"

I have tried giving something like "\x6e\xaf\xff\xff%x%x%x%x%s". but it is not working. Any suggestions will be appreciated. Thanks a lot.

0 投票
3 回答
3743 浏览

c - 缓冲区溢出作为 homeowrk

仍在为安全类学习此缓冲区溢出内容,我正在尝试利用此应用程序中的漏洞:

使用此漏洞利用应用程序:

出于某种原因,当我通过运行漏洞利用创建坏文件时,它不会向其推送任何内容。缓冲区为空或未正确写入。我似乎找不到我的错误,经过不知疲倦的谷歌搜索,我找不到足够的答案。根据我对我使用的填充缓冲区代码的理解,这应该用我的缓冲区地址填充 long_string,然后将我的 shellcode 放在 long_string 的开头(经过一点 NOOP 幻灯片),然后将 long_string 复制回缓冲区。我真的不认为这个或 fwrite 有任何问题。建议?