8得票1回答
返回到libc - 问题

我在使用return-to-libc漏洞时遇到了问题。问题是什么都没有发生,但没有出现分段错误(是的,我确实溢出了堆栈)。 这是我的程序: int main(int argc, char **argv) { char array[512]; gets(array); } 我正在...

84得票6回答
如何关闭gcc编译器优化以启用缓冲区溢出

我正在处理一道作业问题,需要禁用编译器优化保护才能使其正常工作。我正在使用 Ubuntu Linux 上的 gcc 4.4.1,但无法确定正确的参数。我意识到这取决于架构 - 我的机器运行在32位英特尔处理器上。 谢谢。

10得票3回答
GCC编译C/C++的最严格选项集是什么?

哪些GCC选项能够提供最好的保护,以防止内存损坏漏洞,如缓冲区溢出和悬空指针?GCC是否提供任何类型的ROP链缓解措施?是否存在性能问题或其他问题,会阻止该GCC选项在生产中用于关键任务应用程序? 我正在查看Debian强化指南以及GCC Mudflap。以下是我考虑的配置:-D_FORTI...

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

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

12得票4回答
如何在C语言中进行缓冲区溢出时跳过一行

我想在C语言中跳过一行,在主要部分使用缓冲区溢出技术跳过x=1;这一行;然而,尽管我从<main+35>到<main+42>计算了7个字节,但我不知道为什么我无法跳过从4002f4地址到下一个地址4002fb。 我还在Debian和AMD环境下配置了随机化和execs...

76得票2回答
NOP sled是如何工作的?

我找不到一个能很好回答这个问题的来源。我知道nop sled是一种用于绕过缓冲区溢出攻击中的堆栈随机化技术,但我无法理解它是如何工作的。 能给出一个简单的例子来说明这种方法吗? 像128字节的nop sled这样的术语是什么意思?

9得票2回答
9得票2回答
Android MediaRecorder采样率和噪声问题

我在使用Android的MediaRecorder录制麦克风声音到.m4a文件(AAC-LC,MPEG-4容器)时遇到了问题。从API 18开始,默认采样率从44.1或48 kHz(取决于设备)降至仅8 Hz。如果我使用MediaRecorder.setAudioSamplingRate指定采...

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

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

10得票3回答
gcc在编译时是否会重新排列局部变量顺序?

我目前正在第二次阅读《黑客攻防技术宝典》并遇到了一些问题。 这本书提出了两种不同的方法来利用这两个相似的程序:auth_overflow 和 auth_overflow2 在第一个程序中,有一个密码检查函数的布局如下:int check_authentication(char *passw...