[SWPUCTF 2023 秋季新生赛]Pingpingping

这种是ctf中比较简单的一类题,主要解法基本上也就那些形式。

这道题我给它提出来主要是涉及了一下比较零散的知识点,觉得想要跟大家分享一下。

<?php
highlight_file(__FILE__);
error_reporting(0);
$_ping = $_GET['Ping_ip.exe'];
if(isset($_ping)){system("ping -c 3 ".$_ping);
}else{$data = base64_encode(file_get_contents("error.png"));echo "<img src='data:image/png;base64,$data'/>";
} 

直接给出了我们的源代码,我来简单的进行一些代码解说。

这代码非常简单,先是需要我们以get的方式提交参数Ping_ip.exe。然后我们提交的参数会在system()函数中与ping命令连接在一起进行执行。

那么很明了的思路就是使用我们的cat命令抓取我们的flag。

 system("ping -c 3 ".$_ping);

可以看到我们这里面的ping命令形式是不完整的,所以我们必须要先补全我们的ping命令再进行cat命令抓取。

那么第一个陷阱点出现了,我们必须提交的参数是Ping_ip.exe但是:

PHP中我们变量名只有数字字母下划线,被get或者post传入的变量名,如果含有空格、+、[则会被转化为_,如果传入[,它被转化为_之后,后面的字符就会被保留下来不会被替换。

可以看到如果直接提交则会发生错误。

 

所以我们必须先转义前面的字符,以防止后面的点被转义。

为了使其转义为下划线所以我们选择使用[来替换。

接下来就是了解怎样补全ping命令了。

ping命令的最基本形式只需包含目标主机的地址。我们只需要将它所给出的ping命令加上主机地址即可。这里我测试的是任何ip都可以。

最终payload:

?Ping[ip.exe=127.0.0.1||cat /flag

 在payload中我们使用了“||”符号,“||” 是一个管道操作符,它用于在命令行中执行多个命令,当前一个命令执行成功时,才会执行后一个命令。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

新160个crackme -047-surre

运行分析 打开程序&#xff0c;标题显示Unreg未注册点击Try it&#xff0c;让我们选择一个文件&#xff0c;若选择文件无反应&#xff0c;不选择文件之后弹出错误提示 PE分析 Delphi程序&#xff0c;32位&#xff0c;无壳 静态分析&动态调试 ida找到已注册字符串&#xff0…

glsl着色器学习(十)缩放

对二维图形进行缩放&#xff0c;需要用到顶点着色器&#xff0c;顶点着色器经过矩阵变换&#xff0c;会将模型空间最终转换成裁剪空间。下面就来操作矩阵 这里需要用到一个库glMatrix。 首先修改顶点着色器 <script id"vertex-shader-2d" type"x-shader/x-…

为何科技达人都爱用Windows Disk Clear?数据安全有保障!

前言 “在数字时代&#xff0c;数据即力量&#xff0c;而其安全则是力量的基石。”这句箴言恰如其分地描绘了当今社会对数据安全的迫切需求。正是在这样的科技浪潮中&#xff0c;一款名为“Windows Disk Clear”的软件如同璀璨星辰&#xff0c;照亮了数据安全领域的天空。 它…

【DSP】无法在线仿真无法进入main()函数

DSP无法在线仿真无法进入main()函数 1.问题描述 ​ 接手前人的DSP代码&#xff0c;硬件平台是DSP C6701&#xff0c;软件IDE是CCS 12.3.0。仿真器版本是XDS 560V2。 ​ 在进行在线仿真时&#xff0c;经常出现“伪在线”的情况。简单来说&#xff0c;正常的在线过程&#xff…

【数据结构与算法 | 搜索二叉树篇 力扣篇】力扣530

1. 力扣530&#xff1a;二叉搜索树的最小绝对差 1.1 题目&#xff1a; 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 示例 1&#xff1a; 输入&#xff1a;root [4,…

QT5记录 QHBoxLayout ScrollArea导致QLabel重新计算位置导致内容显示不全

先给QLabel 固定高度 # 这里让背景框适配聊天框font_metrics QFontMetrics(font)rect font_metrics.boundingRect(QRect(0, 0, self.width(), 1920), Qt.TextFlag.TextWordWrap,text)newWidth rect.width() 40if rect.width() < 800:self.setMaximumWidth(newWidth)self…

python中pip源配置

文章目录 1、前言2、pip下载源配置 1、前言 conda环境的源配置&#xff0c;相关博客有很多&#xff0c;这里不再赘述。在我使用梯子后&#xff0c;使用pip进行库安装&#xff0c;总是出现错误情况&#xff0c;如下所示&#xff1a; 2、pip下载源配置 因此&#xff0c;在这里进…

多模态:DetCLIPv3解析

文章目录 前言一、介绍二、方法2. Open vocabulary detector2.1 encoder2.2 decoder 3. Object captioner 三、数据工程1. Auto-annotation data pipeline 四、训练策略五、实验总结 前言 目前多模态目标检测逐渐成为检测领域的主要发力方向&#xff0c;从最初的检测大模型gro…

这个桌面插件真的酷!该有的都有了!改造桌面必备神器

这个桌面插件真的酷&#xff01;该有的都有了&#xff01;改造桌面必备神器。一个好用的桌面插件可以给我们提供很多的方便&#xff0c;给自己桌面打扮一下&#xff0c;定制一个自己喜欢的桌面插件&#xff0c;让桌面变得更美观实用&#xff01; 如何给桌面添加一个实用的插件&…

编译器基础介绍

随着深度学习的不断发展&#xff0c;AI 模型结构在快速演化&#xff0c;底层计算硬件技术更是层出不穷&#xff0c;对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将算力发挥出来&#xff0c;还要应对 AI 框架的持续迭代。AI 编译器就成了应对以上问题广受关注的技…

安装破解激活pycharm

装pycharm之前先装python 激活方式版本不能过新&#xff0c;要22年1月及其之前的版本&#xff0c;下拉找到对应版本的专业版 Other Versions - PyCharmGet past releases and previous versions of PyCharm.https://www.jetbrains.com/pycharm/download/other.html 2.下载电脑…

Transiting from CUDA to HIP(三)

一、Workarounds 1. memcpyToSymbol 在 HIP (Heterogeneous-compute Interface for Portability) 中&#xff0c;hipMemcpyToSymbol 函数用于将数据从主机内存复制到设备上的全局内存或常量内存中&#xff0c;这样可以在设备端的内核中访问这些数据。这个功能特别有用&#x…

【qiankun】使用总结

主应用 主应用使用的技术栈&#xff1a;Angular 18 Antd 微应用 微应用使用的技术栈&#xff1a;React 18 Antd 创建子应用 // 安装angular CLI&#xff08;如果本地已安装可忽略&#xff09; npm install -g angular/cli// 创建子应用 ng new my-app-name配置子应用 安…

保姆级教程:Dupay从注册到充值开卡全过程,可开GPT Plus、可绑定GPT充值API余额

前言 想要购买GPT Plus&#xff0c;或者给GPT充值&#xff0c;绑定国内visa信用卡&#xff0c;会被拒&#xff0c;于是便问问度娘&#xff0c;找到了一篇关于注册虚拟卡的教程&#xff0c;搬过来顺便修改下&#xff01; 应用场景 1、Depay Master Visa卡支持绑定宝、微、美外…

软件测试基础知识 + 面试理论(超详细!)

一、什么是软件&#xff1f; 软件是计算机系统中的程序和相关文件或文档的总称。 二、什么是软件测试&#xff1f; 说法一&#xff1a;使用人工或自动的手段来运行或测量软件系统的过程&#xff0c;以检验软件系统是否满足规定的要求&#xff0c;并找出与预期结果之间的差异…

【网络安全】服务基础第一阶段——第十一节:Windows系统管理基础----PKI技术与应用

目录​​​​​​​ 一、加密技术 1.1 基本保密通信模型 1.2 密码学发展 1.2.1 古典密码学&#xff08;1949年前&#xff09; 1.2.2 近代密码学&#xff08;1949&#xff5e;1975年&#xff09; 1.2.3 现代密码学&#xff08;1976年以后&#xff09; 1.3 古典密码 1.3.…

月考成绩如何私密发布?教程来啦!

月考结束&#xff0c;老师们总是忙得不可开交。需要将每一份成绩单仔细核对&#xff0c;然后逐一私信给每位学生的家长。这个过程不仅耗时耗力&#xff0c;而且容易出错。家长们也常常因为等待成绩而焦虑不安。但现在有了一种更高效、更私密的方法来发布成绩——易查分小程序。…

GatewayWorker框架的详解和应用

一、介绍 1. 简介 GatewayWorker基于Workerman开发的一个项目框架&#xff0c;用于快速开发TCP长连接应用&#xff0c;例如app推送服务端、即时IM服务端、游戏服务端、物联网、智能家居等等 GatewayWorker使用经典的Gateway和Worker进程模型。Gateway进程负责维持客户端连接…

烟雾报警器可以节能与守护并存吗?| 合宙功耗分析仪Air9000P实测

有多少人跟我一样&#xff0c;每次抬头看到天花板上那个长年累月默默站岗的烟雾报警器&#xff0c; 总会想&#xff1a;它真的在工作吗&#xff1f;电量到底能撑多久呢&#xff1f; 不如&#xff0c;动手测一测功耗&#xff01; 烟雾报警器通过内置的传感器实时感知环境中的烟…

Vue3安装Element Plus

文章目录 安装使用包管理器安装配置&#xff1a;完整引入按需引入&#xff1a; 使用&#xff1a; 以下将参考Element Plus官网 一个 Vue 3 UI 框架 | Element Plus (element-plus.org)进行 安装 在创建好的项目文件控制台下安装&#xff1a; 使用包管理器 我们建议您使用包…