BUUCTF Web [GXYCTF2019]Ping Ping Ping
「作者主页」:士别三日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相关推荐
- BUUCTF Web [GXYCTF2019]Ping Ping Ping [极客大挑战 2019]LoveSQL [极客大挑战 2019]Knife [极客大挑战 2019]Http
目录 [GXYCTF2019]Ping Ping Ping [极客大挑战 2019]LoveSQL [极客大挑战 2019]Knife [极客大挑战 2019]Http [GXYCTF2019]Pin ...
- buuctf web [GXYCTF2019]Ping Ping Ping(呜呜呜做个题都要被骂)
让我ping一下? 加个 ; ? 呜呜呜 不给就算了还fxck your 试试代替空格的 /**/ IFS可以 给index.php试试 完了被ban了好多 换成base64试试 Y2F0IGZsYW ...
- 全网超详细的如何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 ...
- linux命令菜鸟ping,Linux ping命令
Linux ping命令 Linux ping命令用于检测主机. 执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常. 语 ...
- 复制vmware overLay网络无法ping通 ping www.baidu.com可以
因为忘记关闭防火墙了!!!!! 要永久关闭!! 修改hostname https://blog.csdn.net/qq_27327261/article/details/109100219 关闭 ...
- linux使用ping命令ping本机,Linux下使用ping命令判断网络的好坏
简介 在Linux系统里面如果想判断网络的好坏,脑海中蹦出的第一个命令就是ping了. ping命令基本是最常用的网络命令,它可以用来测试与目标主机的连通性. ping通过发送ICMP ECHO_RE ...
- 虚拟机ping网关ping不通
虚拟机ping网关ping不通,可能自己遇到的比较奇特,开始访问正常,过一段时间就不正常,分享一下解决办法: 首先ping同网段的可以ping的通,说明vmnet8的ipv4不和虚拟机配置的vmnet ...
- C# ping命令,ping网络状态
Ping ping = new Ping(); PingReply pingReply = ping.Send("192.168.1.1"); //网络状态 if (pingRep ...
- Buuctf -web wp汇总(一)
Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 持续更新ing~ BuuCTF平台 文章目录 BuuCTF平台 [极客大挑战 2019]EasySQL [极 ...
最新文章
- 编译Linux Kernel(linux-4.19.178)并制作成rpm文件
- Fundebug计费标准解释:事件数是如何定义的?
- java -IO流_字符流
- 计算机操作系统笔记——处理器调度
- html js脚本限制 正则,简单谈谈JS中的正则表达式
- vc 6.0 显示文件全路径_配送路径规划思考(十二)
- entity framework6 edmx文件详解
- SAP License:GB01中替代字段释放
- 如何用 Python 画一个纸飞机?| 原力计划
- SpringMVC实现ajax上传图片实时预览
- 多元线性模型的分位数回归
- 微雨燕双飞,落花人独立 。是什么意思
- unity 构建迷宫_教程:使用GameDraw在Unity中构建迷宫游戏关卡
- layui官方文档镜像站
- 特征工程之one-hot解读
- python枚举窗口句柄_如何使用 WIN32 API 枚举窗口?
- 关于订单支付成功后一些逻辑的处理
- HTMLCSS常用单词及音标 (上)
- ForkJoinPool 大型图文现场
- 【软件质量】软件一致性
热门文章
- 25-限制容器对内存的使用
- 【leetcode 简单】 第八十四题 两个数组的交集
- Machine Learning - Coursera week5 Backpropagation in Practice
- SSIS - 7.发邮件任务
- 多任务的同步与相互排斥
- 一些简单的Linux命令
- Ubuntu环境下sublime3 nodejs安装与插件配置
- 大数据之-Hadoop伪分布式_配置历史服务器---大数据之hadoop工作笔记0027
- 初识uniapp---uniapp一次开发_小程序_Android_IOS_快应用通用工作笔记001
- Netty工作笔记0063---WebSocket长连接开发2