我想知道是否可以在不修改代码的情况下调用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();
}
答案 0 :(得分:0)
老师要你在这里做的是缓冲区溢出。
该程序将从STDIN读取,因此管道超过256个字符,我认为您将完成任务。