【发布时间】:2013-04-05 09:00:54
【问题描述】:
我正在尝试在汇编中编写 shellcode。我需要执行/usr/bin/killall 命令和/usr/bin/wget 命令。我使用execve() 系统调用在shellcode 中完美运行这两个命令。但是现在我想将这两个结合起来,但是这是不可能的,因为在执行第一个execve() 调用时程序会退出。 (来自execve() 的手册页:execve() 不返回成功)。
如何执行 2 个execve() 调用?还是有其他方法可以从同一个 shell 代码中同时调用 /usr/bin/killall 和 /usr/bin/wget?
提前问候和感谢!
【问题讨论】:
-
为什么要“在汇编中编写 shell 代码”?通常你会用 C 语言编写并编译它。连续运行两个命令是 shell 的设计目的,而在汇编中执行它几乎不会带来什么好处......
-
使用 fork、then if 和两个 execves。
标签: c assembly buffer-overflow shellcode execve