问题标签 [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 投票
1 回答
595 浏览

serial-port - 打印机缓冲区溢出串行端口

我有一台打印机(特别是 Braillo 200 压花机),它通过串行端口连接到运行 Windows 7 的计算机。我在 Windows 中安装了“通用文本”打印机并将其设置为使用串行端口。串行端口对话框(打印机属性 -> 端口 -> 配置端口)上的参数与浮雕机上的参数相匹配。尽管如此,当试图压印大于 2K 的文件时,压印器会报告缓冲区溢出。

我对这个问题的研究表明存在握手问题,但我尝试了所有握手选项(硬件、软件、无),但都没有解决问题。

我确实注意到,通过使用 mode.exe 命令并在那里设置参数,可以从命令行打印(使用 copy.exe *file_name* com1)。但是,我宁愿使用 Windows 来管理打印机。

任何建议将不胜感激。

0 投票
5 回答
10325 浏览

c++ - 从流中提取到 char 数组或 std::string 的最安全方法

我担心缓冲区溢出,我需要从派生自 std::istream 的类中取出一些字符。据我了解,没有我自己的 >> 运算符,无法直接从 istream 流式传输到 std::string。所以我正在考虑将内容流式传输到 char 数组,然后将其放入 std::string。这是一个简单的例子:

但是,似乎没有办法知道 CharArray 不会溢出。流提取运算符将写入 chararray 是否有最大值?有什么方法可以检查有多少会被抢先提取?这一切都错了吗,有没有比这更好的方法?

Edit1:,我修复了我的不是内存泄漏。无需调用删除。我不敢相信我做到了。

Edit2:建议直接使用 >> 到字符串。我在代码库中尝试过这个问题的来源,但它失败了。说找不到适合该运算符的匹配项。然后我尝试使用 std::fstream 并再次失败。在简单的简约项目中尝试 std::fstream 代码成功。这告诉我,我的大型项目还有其他问题。这个问题的初衷不再有效。

Edit3:我解决了这个问题。我试图流式传输到 typedef String,我认为它实际上是 std::string,但它实际上是一个 const std::String。自然没有用于写入不可写对象的流提取操作符,所以它只给了我 istream 标头中列出的所有操作符(我需要的是字符串标头中的操作符)。

感谢那些指出我的错误研究并指出我正确方向的人。

0 投票
2 回答
2482 浏览

c - 请修正缓冲区溢出

我想避免以下程序中的缓冲区溢出漏洞,

为了修复漏洞,这是对它的正确更正吗?

0 投票
3 回答
442 浏览

stack - 缓冲区溢出 - 没有得到正确的输出

Shell 代码打印主机名(bin/hostname)。但是当我执行代码时,它会以相反的顺序向我显示路径,但不打印主机名。我实际上是在做缓冲区溢出。我正在使用freebsd intel机器。这是我的代码

你能弄清楚错误在哪里吗

上面的程序被注入下面的程序......所以它创建了bufferover流并打印了主机名

0 投票
5 回答
195 浏览

c++ - C/C++ 的缓冲区溢出文献?

有人知道 C/C++ 的优秀文献吗?语言:德语/英语

谢谢

0 投票
2 回答
695 浏览

linux - Linux 中的缓冲区溢出失败?

我有一个关于缓冲区溢出的问题,在这个程序中:

当我试图让这个程序在内存中流动时:

它应该是这样的:

所以 A(41 十六进制)应该写在 EPI 上,但那没有发生

linux 是否有办法保护自己免受缓冲区溢出,从而使缓冲区溢出失败?还是我做错了什么?

0 投票
2 回答
972 浏览

operating-system - NX 位仿真

有人可以向我解释如何在硬件不提供的平台上模拟 NX 位,例如 32 位 x86 吗?我会很高兴解释它的模拟方式的基础知识,因为我根本无法想象它是如何实现的。提前致谢。

0 投票
4 回答
123 浏览

c - 对缓冲区大小施加限制

有没有any办法我可以对字符缓冲区施加大小限制,这样缓冲区上的任何操作都不会导致越界访问?

0 投票
5 回答
5468 浏览

c - 使用 C 开发备份程序

我正在做一个安全课程的作业,要求我找到备份程序 (setuid) 的 4 个漏洞并使用它们中的每一个来获得 root 访问权限(在具有旧版本 gcc 等的虚拟 linux 机器上)。应该有一种缓冲区溢出和一种格式字符串。

谁能帮我指出这4个漏洞在哪里?我认为缓冲区溢出可能发生在copyFile().

以下是backup.c的代码:(可以在“backup backup foo”或“backup restore foo”中调用)

还有一些有用的东西:

0 投票
2 回答
120 浏览

debugging - 缓冲区溢出错误随机出现然后消失

我的一个程序有问题,在我向程序添加更多功能后突然出现缓冲区溢出错误。错误出现在程序的最开始,该部分与我添加的新代码完全无关。在放置几个断点以缩小错误来源后,错误在下一次运行时消失了。

谁能简单地从概念上向我解释什么样的情况可能导致我遇到的问题?我不是要求您调试我的代码,而是让我了解可能发生的情况,这样我就可以避免再次遇到问题。