Nebula Challenge 04
考察点:软链接
ln -s target_filename symlink_filename将上述命令中的target_filename用符号链接将要指向的相对路径或者绝对路径进行替换。在通常的情况下,目标文件应该存在。但是也可以创建一个指向不存在目标的符号链接。将symlink_filename用希望的符号链接名替换。这条ln命令将会创建一条符号链接。当创建完符号链接之后,可以将symlink_filename当作target_filename的别名看待。普通的文件操作命令(如cp、rm等)都能直接作用于符号链接。用于读写文件内容的命令将会直接访问目标文件。
题目描述:绕过代码中的限制,读出token文件的内容
/home/flag04文件夹下有两个文件:flag04 和 token ,其中 flag04 的源码是:
1 #include <stdlib.h> 2 #include <unistd.h> 3 #include <string.h> 4 #include <sys/types.h> 5 #include <stdio.h> 6 #include <fcntl.h> 7 8 int main(int argc, char **argv, char **envp) 9 { 10 char buf[1024]; 11 int fd, rc; 12 13 if(argc == 1) { 14 printf("%s [file to read]\n", argv[0]); 15 exit(EXIT_FAILURE); 16 } 17 18 if(strstr(argv[1], "token") != NULL) { 19 printf("You may not access '%s'\n", argv[1]); 20 exit(EXIT_FAILURE); 21 } 22 23 fd = open(argv[1], O_RDONLY); 24 if(fd == -1) { 25 err(EXIT_FAILURE, "Unable to open %s", argv[1]); 26 } 27 28 rc = read(fd, buf, sizeof(buf)); 29 30 if(rc == -1) { 31 err(EXIT_FAILURE, "Unable to read fd %d", fd); 32 } 33 34 write(1, buf, rc); 35 }
具体是将某个文件读出,但是路径以及文件名里不能包含token关键词。
解法(参考网上):在/tmp目录下创建token文件的软连接,然后读取这个软连接的内容就是这个token文件的内容。
ln -s target_filename symlink_filename将上述命令中的target_filename用符号链接将要指向的相对路径或者绝对路径进行替换。在通常的情况下,目标文件应该存在。但是也可以创建一个指向不存在目标的符号链接。将symlink_filename用希望的符号链接名替换。这条ln命令将会创建一条符号链接。当创建完符号链接之后,可以将symlink_filename当作target_filename的别名看待。普通的文件操作命令(如cp、rm等)都能直接作用于符号链接。用于读写文件内容的命令将会直接访问目标文件。
转载于:https://www.cnblogs.com/iamgroot/p/9357184.html
Nebula Challenge 04相关推荐
- python趣味编程从入门到人工智能答案-趣味编程挑战:从Python入门到AI应用
商品详情 书名:趣味编程挑战:从Python入门到AI应用 定价:69.0 ISBN:9787121363177 作者:孙勇 版次:第1版 出版时间:2020-04 内容提要: 本书是趣味编程的入门教 ...
- 有趣的Hack-A-Sat黑掉卫星挑战赛——跟踪卫星
国家太空安全是国家安全在空间领域的表现.随着太空技术在政治.经济.军事.文化等各个领域的应用不断增加,太空已经成为国家赖以生存与发展的命脉之一,凝聚着巨大的国家利益,太空安全的重要性日益凸显[1].而 ...
- CAMoE——屠榜 video retrieval challenge
关注公众号,发现CV技术之美 作者:炎思提 原文:https://zhuanlan.zhihu.com/p/425226244 本文转自知乎,已获作者授权,请勿二次转载. ✎ 编 者 言 来自今年九 ...
- ACM MM2021 | 快手获得Grand Challenge第一名
近日,多媒体领域国际顶级会议ACM Multimedia 2021在中国成都举办.在会议的Grand Challenge环节,快手音视频网络传输算法团队(Kwai2021)获得了ACM MM Gran ...
- Nebula Graph 招募社区布道师
点击上方"开源社"关注我们 | 编辑:钱英宇.李明康 | 设计:王福政 01 Nebula Graph 社区布道师 作为一款开源的数据库产品,社区对 Nebula Graph 团队 ...
- 如何在Ubuntu 20.04上设置和配置证书颁发机构(CA)
介绍 (Introduction) A Certificate Authority (CA) is an entity responsible for issuing digital certific ...
- 有趣的Python Challenge编程解谜游戏攻略二(5-9关)
**有趣的Python Challenge编程解谜游戏攻略二(5-9关)** 介绍 游戏介绍 0-4关攻略 写在前面 关卡 第5关 第6关 第7关 第8关 第9关 链接总结 第10关预告 介绍 游戏介 ...
- CodeLab:Android fundamentals 04.2:Input controls
Android fundamentals 04.2:Input controls Tutorial source : Google CodeLab Date : 2021/04/06 Complete ...
- Nebula Graph 的 KV 存储分离原理和性能测评
本文首发于 Nebula Graph Community 公众号 1. 概述 过去十年,图计算无论在学术界还是工业界热度持续升高.相伴而来的是,全世界的数据正以几何级数形式增长.在这种情况下,对于数据 ...
最新文章
- C/C++中二维数组作函数形参时,调用函数时,可传递的实参类型的小结
- Lock 与 InterruptedException
- python画椭圆turtle_如何用Python画一只肥肥的柯基狗狗——turtle库绘制椭圆与弧线实践...
- html3d上下翻转4面效果,花式实现图片3D翻转效果
- Python 装饰器详解(下)
- python调用numpy视频_Numpy的文件输入和输出使用
- java 8009_[转]Tomcat的8009端口AJP的利用
- python中几个常用的算术函数
- LinkedHashMap jdk1.8源码解析
- 计算机指针知识,指针_计算机基础知识142页.ppt
- 公共管理和社会保障、旅游1994-2019年省级面板数据数据
- 智遥工作流调用SAP基础数据,解决方案
- 上海黄金交易所交易操作基本知识
- 身份证的行政区划代码
- gfortran在linux下安装
- requests中get请求没有referer得不到数据
- 将uc/OS-III移植到stm32F103上并创建多任务
- android 手电筒闪烁,如何实现Android Studio简易手电筒的闪烁和报警功能
- 【线性代数04】投影矩阵P和标准正交矩阵Q
- 中国铁路警方查处多名违规在动车高铁列车上抽烟人员
热门文章
- 信号回勾产生的原因_为什么照片放大会有噪点?产生噪点的4个因素,来了解一下...
- R语言分类算法之朴素贝叶斯分类(Naive Bayesian Classification)
- java kotlin相互调用_Kotlin的互操作——Kotlin与Java互相调用
- “创业吃过饼,国企养过老” 架构师的头发不是一天掉完的!
- 混合云备份服务 > 产品简介 > 什么是混合云备份
- 有关 vSphere 6.X 的证书及升级问题 (转)-影响等级(重要)
- office选项-》高级-》显示 中, 显示此数目的“最近使用的文档” 为灰色,无法更改
- Redis学习总结(23)——Redis集群化方案对比:Codis、Twemproxy、Redis Cluster
- Git学习总结(23)——Git commit message和版本管理规范总结
- Jenkins学习总结(7)——搭建Jenkins+Maven+SVN+Tomcat持续集成环境