首页 > 其他分享 >【pwn】wustctf2020_closed --exec重定向

【pwn】wustctf2020_closed --exec重定向

时间:2024-01-16 12:23:12浏览次数:26  
标签:输出 重定向 exec -- 标准 描述符 closed 输入

这道题先来看一下ida

这道题的代码逻辑很简单,首先关闭了标准输出和错误输出

那可以将标准输出重定向到标准输入

exec 1>&0 是一种Shell命令行中的重定向语法,用于将标准输出(文件描述符1)重定向到标准输入(文件描述符0)。

在Linux Shell中,每个进程都有三个默认的标准文件描述符:

  • 标准输入(stdin):使用文件描述符0(FD 0)表示,默认情况下终端键盘输入与其关联。
  • 标准输出(stdout):使用文件描述符1(FD 1)表示,默认情况下终端屏幕显示与其关联。
  • 标准错误(stderr):使用文件描述符2(FD 2)表示,默认情况下终端屏幕显示与其关联。

通过重定向操作,我们可以将一个文件或者另一个文件描述符关联到这些标准输入、输出和错误中。在这种情况下,exec 1>&0 表示将标准输出重定向为标准输入。

在执行这个命令后,进程的标准输出将不再向终端屏幕上显示,而是会将输出结果发送到标准输入。这意味着,后续的输出会被作为输入来处理。具体来说,通过 1>&0 这个重定向,程序将会把原本应该输出到终端屏幕上的内容,发送到了它的标准输入中。

这种重定向方式在某些情况下可能会有实际的应用,例如,当我们需要使用管道(pipe)来将一个程序的输出作为另一个程序的输入时,可以使用这种方式将标准输出重定向到标准输入。在这种情况下,程序的输出会成为后续程序的输入。

需要注意的是,exec 1>&0 这种重定向语法只在Shell脚本中有效,而不是在C语言程序中。在C语言中,我们需要使用 dup2() 函数或者其他相关的系统调用来实现文件描述符的重定向操作。

标签:输出,重定向,exec,--,标准,描述符,closed,输入
From: https://www.cnblogs.com/GGbomb/p/17967396

相关文章

  • Redis - SORT
                      ......
  • 《nodejs安装篇》nodejs安装windows详细版
    参考链接:https://www.cnblogs.com/feiye512/p/12539306.html安装1、下载安装包下载地址:https://nodejs.org/zh-cn/download/根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包.msi和.zip格式区别:1、.msi是Windowsinstaller开发出来的程序安装文件,它可以让你......
  • 洛谷P10058 题解
    这种翻转的题明显已经做烂了好吧……首先显而易见,翻转偶数次对结果没有影响,只需要考虑奇数次翻转的情况。由于是整体移动的操作,可以抓住一个点来移动,然后还原出原来的序列。需要注意的是字符串是环形移动,因此如果当前点的位置大于字符串长度,要对字符串的长度进行取余操作。写......
  • docker 设置 ulimit
    一、通过dockerrun–ulimit参数设置这个容器的ulimit值dockerrun--ulimitnofile=1024:1024--rmdebiansh-c"ulimit-n"二、通过配置daemon.json配置默认值配置nofile{"default-ulimits":{"nofile":{......
  • 项目上线后退出功能异常
    后台有个a标签<li><ahref="/back/managers/logout"onclick="if(!confirm('确认要退出系统么?')){returnfalse;}">退出</a></li>应该是访问下面方法的 //后台退出 back.GET("/managers/logout",Back.Managers{}.Logout) /......
  • 《nodejs新建篇》nvm安装
    参考链接:https://www.cnblogs.com/jing-tian/p/11225123.html介绍nvm是node.js的版本管理工具,可以运行在多种操作系统上。nvmforwindows是使用go语言编写的软件。我电脑使用的是Windows操作系统,所以我要记录下在此操作系统上nvm的安装和使用。下载nvm-windows最新下载......
  • flutter 生命周期
    Stateless无状态组件//Stateless无状态组件比较简单就是一个build函数,每次外部新状态压入,进行调用//当Widget不再需要时,比如在页面切换或者被移除时,Flutter会销毁这些Widget。//对于StatelessWidget来说,它没有内部状态(即无可变的变量)classLeftPageextendsStatelessWidg......
  • 1.13~1.14&&放假寄
    1.133点就放了,手机在机房就能拿到,我为了给手机充会电又多留了一会(事实证明这挺对的)因为我们是化微机的班,老师收手机都放在一个箱子里,要有人负责把剩下的手机搬到教室,我走得晚还被当成免费劳动力了,机房到教室一个往返爬了18层楼(为啥要回去?总不能是因为给手机落了吧......
  • 7.Mybatis
    1.什么是MybatisMybatis是一个半ORM(对象关系映射)框架,内部封装JDBC,无需处理驱动加载、创建连接、创建statement等过程,只关注sql。Mybatis使用Xml或注解配置和映射原生信息,将POJO映射成数据库中的记录,避免JDBC代码和手动设置参数以及获取结果集。通过xml文件或注解的方式......
  • HFM的value维度
    HFM的value维度,是很重要的一个维度,它提供了一个线索,可以清晰的记录数据的录入,调整,折算,合并、比例合并、抵消过程在HFM系统中,value维度总共有14个成员1.<EntityCurrency>:此维度为数据录入维度,接受来自总账科目的数据,币种为本位币,通过数据接口导入或者以线下形式导入2.<Entity......