如何在不修改代码的情况下让这个C程序调用此函数?

时间:2013-05-03 23:41:02

标签: c function call

我想知道是否可以在不修改代码的情况下调用ret。谢谢你的期待!

    #undef _FORTIFY_SOURCE
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>

    int ret() {
        return system("/bin/bash");
    }

    void overflow() {
        char buf[128];
        read(STDIN_FILENO, buf, 256);
    }

    void user() {
        gid_t gid = getegid();
        setresgid(gid, gid, gid);
    }

    int main(int argc, char** argv) {
            user();
            overflow();
    }

1 个答案:

答案 0 :(得分:0)

老师要你在这里做的是缓冲区溢出。

该程序将从STDIN读取,因此管道超过256个字符,我认为您将完成任务。