【问题标题】:stack overflow code in c for writing exploit [closed]c中用于编写漏洞利用的堆栈溢出代码[关闭]
【发布时间】:2011-07-15 18:53:23
【问题描述】:

我正在尝试在我的 Linux 环境 (BT3) 中启动一个 shell,但它不断出现段错误。我使用的方法来自 The Shellcoder's HandBook。请注意,所有这些都是直接从文本中提取出来的。

更多参考:http://www.backtrack-linux.org/forums/old-pentesting/15508-stuck-eip-buffer-overflow.html

【问题讨论】:

  • 真的需要提供比这更多的信息。
  • @Als 抱歉,我希望我不会过于激进地建议对这个问题进行编辑? (“嗨,我遇到了问题,请帮帮我”似乎没有必要......)
  • @Chris:不,这似乎合乎逻辑,我批准了您的编辑,需要再批准一次,很快就会有人批准。

标签: c linux security shellcode


【解决方案1】:

许多缓冲区溢出漏洞已在现代操作系统补丁中得到修复。可能是因为操作系统检测到缓冲区溢出并终止了您的进程,所以您出现了段错误。

【讨论】:

    【解决方案2】:

    如果您在现代内核上运行,那么您的应用程序就会出现段错误,因为利用 EIP 很容易被操作系统检测到。当 EIP 被更改或溢出时,操作系统有机制来检查 EIP 指向的位置在虚拟内存区域中是否有效。在这种情况下,检查将失败,操作系统会向您的应用程序发送 SIGKILL 或 SIGSEGV 以防止造成任何伤害。

    【讨论】:

    • 除非您在操作系统中找到相关代码并将其删除,否则您无法禁用它,这是一个坏主意
    • 我已禁用此功能但仍无法执行此操作
    • 我怀疑您是否已禁用所有检测到内核中 EIP 溢出的地方,这也不是询问如何利用系统或某些事情的地方,因此您的问题被关闭了
    猜你喜欢
    • 2012-06-02
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多