【发布时间】:2014-02-03 08:59:56
【问题描述】:
这是系统安全的功课。
作业有 2 个部分。给出了 2 个可执行文件。 exectest 和 exectestsecure。
反编译后发现如下:
执行测试
...
execv("ls",...);
...
exectestsecure
...
execv("/bin/ls",...);
...
目标是打印 Hello, World! 而不是运行 ls 命令。
对于第一部分,我创建了 helloworld 程序并将其编译为 ls,在我的主目录中。然后我将我的主目录添加到 PATH。
我不明白我能为 exectestsecure 做什么,它使用绝对路径。
以 root 身份运行 exectestsecure 可以获得奖励积分。奖金使用带有 setuid(0) 的可执行文件,并具有正确的权限。我认为如果我找到一种方法来劫持对 /bin/ls 的调用,我也可以回答奖金问题。
【问题讨论】:
标签: linux security exec system-calls