我想构建一个 C 应用程序,然后我可以利用它从内核内存中获取一些 secret 信息。
问题是我真的不知道从哪里开始...我发现在没有对返回值进行适当检查的情况下使用 copy_to_user() 可能会导致此类问题,但我不了解它是如何被利用的。 如果你能给我一些指导,让我进步,那就太好了。
编辑:我想要的是一种像这样的漏洞利用:http://inj3ct0r.com/exploits/7837 ,其中有 X 字节的内核内存最终被转储。
事实是我不想要任何 SCTP 套接字或任何东西,但“只”想要重新创建此 secret 信息转储的最简单方法。
为了与缓冲区溢出并行,我想创建将使用 gets() 函数的文件 vuln.c,然后构建将完成这项工作的特殊字符串......在这种情况下的披露,我认为这将是另一个 C 文件。
我希望这是有道理的...
最好的。
最佳答案
实际情况是,有多种方法可以继续进行,具体取决于您尝试学习的漏洞利用类型。
- 你想通过 buffer overflow and change of return pointer? 注入(inject)代码吗?
- 是否已经存在您要使用 off by one error 来利用的对
copy_to_user
的调用? - 你想使用return oriented programming吗?而不是代码注入(inject)
- 许多其他人,其中一些已列出here
关于c - 构建一个带有一些内核内存泄露的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3158194/