首页 > 其他分享 >命令执行中cat 和tac的区别

命令执行中cat 和tac的区别

时间:2023-04-24 15:55:06浏览次数:40  
标签:文件 区别 cat 命令 flag tac php

命令执行中cat 和tac的区别

导引

在最近的一道简单的命令执行题目中当使用?c=system('cat f');时,发现并不能在网页上显示内容,而如果使用?c=system('tac f');时,内容就能显示出来

分析

 正则过滤了flag,我们可以使用通配符 '*' 或者匹配符 '?' 绕过

c?=syetem('ls ');//查看一下文件
//存在两个文件,flag.php index.php 

尝试查看flag.php ,?c=system('cat f');发现页面没有显示,使用?c=system('tac f');正常显示

原因

首先查找一下cat 和tac 命令的区别

cat:命令cat用于查看一个文件的内容并显示在屏幕上,cat后面可以不加任何选项直接跟文件名。

tac:命令tac也是把文件的内容显示在屏幕上,只不过是先显示最后一行,然后显示倒数第二行,最后才显示第一行。

而我们题目flag存在一个php文件中,如果我我们使用cat查看的话,那么还是按照<?php格式执行,而其中没有输出语句echo 等,无法输出flag

 

而tac命令刚好可以通过倒序输出,而避开<?php,使得内容能够显示出来,此时不再是php语句了

 

 

总结

当在做题过程中如果flag存在一个php文件中,而我们要通过读取文件来获得flag时,我们可以使用tac命令来倒序显示内容,而不按照php格式来打开文件。具体情况还需要根据具体题目来分析。

标签:文件,区别,cat,命令,flag,tac,php
From: https://www.cnblogs.com/crazy168/p/17349748.html

相关文章

  • spring boot 过滤器、拦截器的区别和使用
    区别:一、过滤器与拦截器的对比1.使用范围不同:过滤器是基于Servlet,而拦截器是基于Spring的,Spring框架底层又离不开Servlet,所以过滤器也能在Spring体系中使用。2.使用资源不同:拦截器有Spring的支持,能够方便的向容器中注册对象和使用对象,但是过滤器就不能。3.使用场景不同:灵活性上......
  • History和Location对象
       ......
  • make_ext4fs error: make_file: failed to allocate inode
    make_ext4fserror:make_file:failedtoallocateinodeerror:do_inode_allocate_extents:Failedtoallocate1146blocksmakemenuconfigTargetImages--->[*]ext4--->(60000)Maximumnumberofinodesinrootfilesystem无脑6000改为60000同样的还有改sys......
  • windows和Linux文件系统区别
    windows和Linux文件系统区别 一、用户操作系统单用户操作系统:指一台计算机在同一时间 只能由一个用户 使用,一个用户独自享用系统的全部硬件和软件资源WindowsXP 之前的版本都是单用户操作系统多用户操作系统:指一台计算机在同一时间可以由 多个用户 使用,多个用户......
  • 解决tomcat控制台乱码的方法
    解决IDEA控制台乱码问题点击Help->EditcustomVMOptions,在最后面添加"-Dfile.encoding=UTF-8"点击右上角EditConfigurations,在tomcat配置中的VMoption中添加"-Dfile.encoding=UTF-8"在tomcat配置中的Startup/Connection页签的Run和Debug添加一个key为JAVA_T......
  • C++中struct和class的区别 || C++中const和static的作用
    struct和class不同点两者中如果不对成员不指定公私有,struct默认是公有的,class则默认是私有的class默认是private继承,而struct默认是public继承  static不考虑类的情况隐藏。所有不加static的全局变量和函数具有全局可见性,可以在其他文件中使用,加了之后只能在该......
  • suricata(六)——suricata之IPS模式
    suricata之IPS模式一、简介suricata具有IDS(IntrusionDetectionSystems,入侵检测系统)的功能外,还具有IPS(IntrusionPreventionSystem,入侵防御系统)功能,对不符合配置规则的报文进行直接阻断,对滥用报文进行限流以保护网络带宽资源。Suricata本身是不具有拦截功能的,想要让它拦截包......
  • 关于在visual Studio 2022中无法找到 ASP.NET Core Web Application 或 ASP.NET Core
    在学习ASP.NETCoreWebApplication时发现无论如何都无法找到这个模板,在翻遍论坛后都没有看到解决的方法,在我下载 visualStudio2017中终于找到了但是,你会发现他只能选择.netcore2.0这肯定是不符合我们写代码的,因为他太老了,但在2022中确实找不到    这......
  • HW2:classification
    HW2任务描述音位分类预测(Phonemeclassification),我们有音频->音位这样的训练数据,想要训练一个模型,学习这样的对应关系,然后给定音频,预测其音位音位音位(phoneme),是人类某一种语言中能够区别意义的最小语音单位,是音位学分析的基础概念。每种语言都有一套自己的音位系统。音频处......
  • Educational Codeforces Round 147 (A-D)
    A.Matching橘子熊:这题太简单了我不想写题面Description给定给一个带问号的字符串,求有多少种可能的数字Input多次询问,一次一个字符串Output对于每次询问,输出可能的数字的总数数据范围与约定2e5次询问,单词询问不超过5个字符思路主要思路签到题大部分情况下,一个......