c - 构建一个带有一些内核内存泄露的应用程序

标签 c security memory disclosure

我想构建一个 C 应用程序,然后我可以利用它从内核内存中获取一些 secret 信息。

问题是我真的不知道从哪里开始...我发现在没有对返回值进行适当检查的情况下使用 copy_to_user() 可能会导致此类问题,但我不了解它是如何被利用的。 如果你能给我一些指导,让我进步,那就太好了。

编辑:我想要的是一种像这样的漏洞利用:http://inj3ct0r.com/exploits/7837 ,其中有 X 字节的内核内存最终被转储。

事实是我不想要任何 SCTP 套接字或任何东西,但“只”想要重新创建此 secret 信息转储的最简单方法。

为了与缓冲区溢出并行,我想创建将使用 gets() 函数的文件 vuln.c,然后构建将完成这项工作的特殊字符串......在这种情况下的披露,我认为这将是另一个 C 文件。

我希望这是有道理的...

最好的。

最佳答案

实际情况是,有多种方法可以继续进行,具体取决于您尝试学习的漏洞利用类型。

  1. 你想通过 buffer overflow and change of return pointer? 注入(inject)代码吗?
  2. 是否已经存在您要使用 off by one error 来利用的对 copy_to_user 的调用?
  3. 你想使用return oriented programming吗?而不是代码注入(inject)
  4. 许多其他人,其中一些已列出here

关于c - 构建一个带有一些内核内存泄露的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3158194/

相关文章:

c - 如何在linux内核模块中添加RTC定时器

security - 安全删除 eMMC 卡(BLKSECDISCARD 返回 EOPNOTSUPP)

c - 父子线程程序的奇怪行为

C++如何在不复制数据的情况下添加和到数组?

php允许内存大小在图像上传旋转时耗尽

c - 严格的 C Win GUI 编程

c - 为什么 UDP 组播服务器没有响应?

c - 计算数字除数的最佳算法是什么?

c# - 开发安全应用程序的最佳方法。与.net

java - DH ServerKeyExchange 不符合算法约束