「作者主页」:士别三日wyx
  此文章已录入专栏《网络攻防》,持续更新热门靶场的通关教程
「未知攻,焉知收」,在一个个孤独的夜晚,你完成了几百个攻防实验,回过头来才发现,已经击败了百分之九十九的同期选手。

[GXYCTF2019]Ping Ping Ping

  • 一、题目简介
  • 二、思路分析
    • 1)多命令执行
    • 2)绕过空格
    • 3)绕过flag
  • 三、解题步骤
    • 1)查看当前目录
    • 2)查看文件内容
    • 3)flag 在注释中
  • 四、总结

一、题目简介

进入连接后是一个「ping」的功能,参数 ip 传递的内容会被当做 ip 地址进行网络连通性测试。

二、思路分析

这一关是「命令执行」漏洞,推荐使用「反引号」配合「分号」执行命令查看文件内容

1)多命令执行

根据页面的文本提示,我们尝试传递「参数」 ip,后端会通过命令执行函数去ping参数的内容,可以确定是一个命令执行漏洞,我们使用分号;执行多条命令看一下当前路径下有哪些文件。


很明显 flag 就在 falg.php 这个文件里面,但「查看」这个文件的过程并不会很顺利

2)绕过空格

提示我们过滤掉了「空格」,这很简单,我们使用 $IFS$9 绕过空格

3)绕过flag

成功绕过空格,但 「flag」又被过滤了。上面我们执行ls命令的时候查询出了 flag.php、index.php 这两个文件名,能不能将这个执行结果拿来用一下呢?答案是肯定的,我们可以使用「反引号」,构造的payload如下

?ip=1;cat$IFS$9`ls`

特殊格式 $IFS$9用来绕过空格,执行语句应该是下面这样

?ip=1;cat `ls`

反引号的「优先级」很高,会先执行反引号中的命令,而后在将执行的「结果」结果配合其他命令执行,也就是说,执行的语句时下面这样

?ip=1;cat flag.php index.php

命令执行后会查看这两个文件的内容,从文件的内容中就可以拿到 flag

三、解题步骤

1)查看当前目录

使用分号;「执行多条语句」,在 url 地址栏中输入以下payload,查看当前目录下的文件

?ip=1;ls

当前目录下有两个文件:flag.php、index.php

2)查看文件内容

使用 $IFS$9绕过空格,配合「反引号」的高优先级特性查看 flag.php 文件,payload如下

?ip=1;cat$IFS$9`ls`

文件内容如下

3)flag 在注释中

注释中的内容不会直接显示在页面中,右键查看「网页源代码」,获取 flag

四、总结

喜欢一个东西首先要先学会「尊重」,虽然网络安全的圈子不乏各种灰产,以及高调宣传自己是黑客的脚本小子,但不可否认,这个圈子仍有不少人保持着「举世皆浊我独清,众人皆醉我独醒」的心态,努力磨砺技术,提升自身修养,让互联网变得更加安全

BUUCTF Web [GXYCTF2019]Ping Ping Ping相关推荐

  1. BUUCTF Web [GXYCTF2019]Ping Ping Ping [极客大挑战 2019]LoveSQL [极客大挑战 2019]Knife [极客大挑战 2019]Http

    目录 [GXYCTF2019]Ping Ping Ping [极客大挑战 2019]LoveSQL [极客大挑战 2019]Knife [极客大挑战 2019]Http [GXYCTF2019]Pin ...

  2. buuctf web [GXYCTF2019]Ping Ping Ping(呜呜呜做个题都要被骂)

    让我ping一下? 加个 ; ? 呜呜呜 不给就算了还fxck your 试试代替空格的 /**/ IFS可以 给index.php试试 完了被ban了好多 换成base64试试 Y2F0IGZsYW ...

  3. 全网超详细的如何Ping特定的端口号,比如telnet Ping,nc Ping,nmap Ping等

    文章目录 1. 文章引言 2. ping特定端口 2.1 使用telnet ping特定端口 2.2 使用nc ping特定端口 2.3 使用nmap ping端口 2.4 使用Powershell ...

  4. linux命令菜鸟ping,Linux ping命令

    Linux ping命令 Linux ping命令用于检测主机. 执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常. 语 ...

  5. 复制vmware overLay网络无法ping通 ping www.baidu.com可以

    因为忘记关闭防火墙了!!!!!    要永久关闭!! 修改hostname https://blog.csdn.net/qq_27327261/article/details/109100219 关闭 ...

  6. linux使用ping命令ping本机,Linux下使用ping命令判断网络的好坏

    简介 在Linux系统里面如果想判断网络的好坏,脑海中蹦出的第一个命令就是ping了. ping命令基本是最常用的网络命令,它可以用来测试与目标主机的连通性. ping通过发送ICMP ECHO_RE ...

  7. 虚拟机ping网关ping不通

    虚拟机ping网关ping不通,可能自己遇到的比较奇特,开始访问正常,过一段时间就不正常,分享一下解决办法: 首先ping同网段的可以ping的通,说明vmnet8的ipv4不和虚拟机配置的vmnet ...

  8. C# ping命令,ping网络状态

    Ping ping = new Ping(); PingReply pingReply = ping.Send("192.168.1.1"); //网络状态 if (pingRep ...

  9. Buuctf -web wp汇总(一)

    Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 持续更新ing~ BuuCTF平台 文章目录 BuuCTF平台 [极客大挑战 2019]EasySQL [极 ...

最新文章

  1. 编译Linux Kernel(linux-4.19.178)并制作成rpm文件
  2. Fundebug计费标准解释:事件数是如何定义的?
  3. java -IO流_字符流
  4. 计算机操作系统笔记——处理器调度
  5. html js脚本限制 正则,简单谈谈JS中的正则表达式
  6. vc 6.0 显示文件全路径_配送路径规划思考(十二)
  7. entity framework6 edmx文件详解
  8. SAP License:GB01中替代字段释放
  9. 如何用 Python 画一个纸飞机?| 原力计划
  10. SpringMVC实现ajax上传图片实时预览
  11. 多元线性模型的分位数回归
  12. 微雨燕双飞,落花人独立 。是什么意思
  13. unity 构建迷宫_教程:使用GameDraw在Unity中构建迷宫游戏关卡
  14. layui官方文档镜像站
  15. 特征工程之one-hot解读
  16. python枚举窗口句柄_如何使用 WIN32 API 枚举窗口?
  17. 关于订单支付成功后一些逻辑的处理
  18. HTMLCSS常用单词及音标 (上)
  19. ForkJoinPool 大型图文现场
  20. 【软件质量】软件一致性

热门文章

  1. 25-限制容器对内存的使用
  2. 【leetcode 简单】 第八十四题 两个数组的交集
  3. Machine Learning - Coursera week5 Backpropagation in Practice
  4. SSIS - 7.发邮件任务
  5. 多任务的同步与相互排斥
  6. 一些简单的Linux命令
  7. Ubuntu环境下sublime3 nodejs安装与插件配置
  8. 大数据之-Hadoop伪分布式_配置历史服务器---大数据之hadoop工作笔记0027
  9. 初识uniapp---uniapp一次开发_小程序_Android_IOS_快应用通用工作笔记001
  10. Netty工作笔记0063---WebSocket长连接开发2