【CTFWP】ctfshow-web40

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 题目介绍:
  • 题目分析:
  • payload:
  • payload解释:
  • payload2:
  • payload2解释:
  • flag


题目介绍:

<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-04 00:12:34
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-04 06:03:36
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/if(isset($_GET['c'])){$c = $_GET['c'];if(!preg_match("/[0-9]|\~|\`|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\=|\+|\{|\[|\]|\}|\:|\'|\"|\,|\<|\.|\>|\/|\?|\\\\/i", $c)){eval($c);}}else{highlight_file(__FILE__);
}

题目分析:

  1. if(isset($_GET['c'])){:检查GET请求中是否存在参数c

  2. $c = $_GET['c'];:如果存在,将参数c的值赋给变量$c

  3. 使用正则表达式检查变量$c中是否不包含一系列特定的字符。这个正则表达式尝试排除一些可能用于代码注入的特殊字符和一些常见符号。

  4. eval($c);:如果$c变量中不包含上述正则表达式定义的任何字符,则使用eval函数执行$c中的PHP代码。这是一个非常危险的操作,因为eval会执行任何传入的PHP代码,这可能包括恶意代码。

  5. }else{:如果GET请求中没有参数c,则执行else块中的代码。

  6. highlight_file(__FILE__);:如果没有参数c,这个函数会高亮显示当前文件的内容。这通常用于调试目的,但在生产环境中使用可能会暴露敏感信息。

  7. }:结束if-else语句。

payload:

?c=echo highlight_file(next(array_reverse(scandir(pos(localeconv())))));

payload解释:

这段代码尝试通过GET请求利用PHP的eval函数执行恶意代码。下面是对这段代码的分析:

  • ?c=echo highlight_file(next(array_reverse(scandir(pos(localeconv())))));:这是一个GET请求的参数c,其值是一个PHP表达式。
  1. echo:PHP中的输出函数,用于输出字符串或表达式的结果。
  2. highlight_file:PHP中的函数,用于高亮显示PHP文件的内容。
  3. next:PHP中的函数,用于将内部指针向前移动到下一个元素。
  4. array_reverse:PHP中的函数,用于反转数组元素的顺序。
  5. scandir:PHP中的函数,用于列出目录中的文件和子目录。
  6. pos:PHP中的函数,返回数组中当前元素的键名。
  7. localeconv():PHP中的函数,返回本地化的数字和货币格式信息。

具体来说,这段代码的执行流程如下:

  1. localeconv():获取本地化的数字和货币格式信息。
  2. pos(localeconv()):获取localeconv()返回数组的键名。
  3. scandir(pos(localeconv())):列出pos(localeconv())指向的目录中的文件和子目录。
  4. array_reverse(scandir(pos(localeconv()))):反转这些文件和子目录的顺序。
  5. next(array_reverse(scandir(pos(localeconv())))):将内部指针移动到下一个元素,即下一个文件或子目录。
  6. highlight_file(next(array_reverse(scandir(pos(localeconv()))))):高亮显示这个文件的内容。
  7. echo:输出这个高亮显示的内容。

payload2:

?c=eval(next(reset(get_defined_vars())));&1=;system("tac%20flag.php");

payload2解释:

  1. ?c=eval(next(reset(get_defined_vars())));:这是GET请求的一部分,其中c参数的值是一个PHP表达式。

    • get_defined_vars():这个函数返回当前所有已定义变量的数组,包括局部变量和全局变量。
    • reset():这个函数将数组内部指针指向第一个元素,并返回该元素的值。
    • next():这个函数将数组内部指针向前移动一位,并返回当前指针处的元素值。
    • eval():这个函数执行字符串作为PHP代码。

    这段代码的目的是尝试执行get_defined_vars()返回的第一个元素的下一个元素的值作为PHP代码。

  2. &1=;system("tac%20flag.php");:这是GET请求的另一部分,尝试通过URL参数执行系统命令。

    • system():这个函数执行一个shell命令,并将完整的输出返回。
    • "tac%20flag.php":这里的命令是tac flag.phptac是反向输出文件内容的Unix命令,%20是URL编码的空格。

    这段代码的目的是尝试执行flag.php文件的反向内容。

flag

在这里插入图片描述

flag=“ctfshow{96c8b1e3-29aa-4010-8f8f-c2437ccb6502}”

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

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

相关文章

高等数学 第七讲 一元函数积分学的概念和性质_不定积分_定积分_变限积分_反常积分

1.不定积分 文章目录 1.不定积分1.1 原函数1.1.1 原函数与不定积分的定义1.1.2 原函数存在定理 2.定积分2.1 定积分的定义2.2 定积分的精确定义2.3 定积分的几何意义2.4 定积分的存在定理2.5 定积分的性质 3.变限积分3.1 变限积分的定理3.2 变限积分的性质 4.反常积分(待更新) …

红酒标签设计:艺术与品味的结合

在红酒的世界里&#xff0c;每一瓶酒都如同一位优雅的舞者&#xff0c;在酒柜的舞台上静静诉说着自己的故事。而红酒的标签&#xff0c;则是这位舞者身上较华丽的舞裙&#xff0c;它不仅是红酒的身份证明&#xff0c;更是艺术与品味的很好结合。今天&#xff0c;我们就来聊聊红…

重载云台摄像机如何通过国标28181接入到统一视频接入平台(视频国标接入平台)

目录 一、国标GB/T 28181介绍 1、国标GB/T28181 2、内容和特点 二、重载云台摄像机 1、定义 2、结构与设计 3、功能和优势 4、特点 5、应用场景 二、接入准备工作 1、确定网络环境 &#xff08;1&#xff09;公网接入 &#xff08;2&#xff09;专网传输 2、检查重…

STC单片机UART映射printf

文章目录 使用STC-ISP生成UART初始化函数 增加如下函数&#xff0c;注意使用printf函数需要添加 #include <stdio.h> 头文件 #include <stdio.h>void Uart1_Init(void) //9600bps12.000MHz {SCON 0x50; //8位数据,可变波特率AUXR | 0x01; //串口1选择定时器2为…

Vue2从基础到实战(v-bind对于样式控制的增强-操作style,v-model在其他表单元素的使用)

v-bind对于样式控制的增强-操作style 语法&#xff1a;style"样式对象" <div class"box" :style"{ CSS属性名1: CSS属性值, CSS属性名2: CSS属性值 }"></div> 代码解析&#xff1a; HTML结构&#xff1a; 包含了一个div元素&…

OSI七层网络模型:构建网络通信的基石

在计算机网络领域&#xff0c;OSI&#xff08;Open Systems Interconnection&#xff09;七层模型是理解网络通信过程的关键框架。该模型将网络通信过程细分为七个层次&#xff0c;每一层都有其特定的功能和职责&#xff0c;共同协作完成数据从发送端到接收端的传输。接下来&am…

申请美区 Apple ID 完整步骤图解,轻松免费创建账户

苹果手机在下载一些软件时需要我们登录其 Apple ID 才能下载&#xff0c;但是由于一些限制国内的 Apple ID 在 App Store 中有一些限制不能下载某些软件&#xff0c;如何解决这个问题&#xff1f;那就是申请一个美区 Apple ID&#xff0c;怎么申请国外苹果账户呢&#xff1f;下…

WebLogic: CVE-2020-14882/14883【getshell】

记录第一次getshell公网设备 漏洞介绍 CVE-2020-14882&#xff1a;允许 未授权 的用户绕过管理控制台 &#xff08;Console&#xff09;的权限验证访问后台 CVE-2020-14883&#xff1a;允许后台任意用户通过HTTP协议 执行任意命令 使用这两个漏洞组成的利用链&#xff0c;可通过…

Java----代理

什么是代理&#xff1f; 在Java中&#xff0c;代理是一种用于创建一个或多个服务的中间层&#xff0c;它可以拦截并处理程序对实际服务对象的请求。代理模式是一种设计模式&#xff0c;属于结构型模式&#xff0c;它允许程序员在不修改实际对象代码的情况下&#xff0c;增强或控…

【C语言】C语言期末突击/考研--数据的类型

目录 一、编程环境的搭建 二、数据的类型、数据的输入输出 2.1.数据类型 2.2.常量 2.3.变量 2.4.整型数据 2.4.1.符号常量 2.4.2.整型变量 2.5.浮点型数据 2.5.1.浮点型常量 2.5.2.浮点型变量 2.6.字符型数据 2.6.1字符型常量 2.6.2.字符数据在内存中的存储形式及…

解决jenkins配置extendreport不展示样式

下载插件&#xff1a;Groovy 、 HTML Publisher plugin 配置&#xff1a; 1&#xff09;Post Steps &#xff1a; 增加 Execute system Groovy script &#xff0c; 内容&#xff1a; System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "&qu…

MyBatis基础配置

一、M y B a t i s 配 置 文 件 1.为什么学习MyBatis配置文件 功能&#xff1a;构建SqlSessionFactory的依据。 意义&#xff1a;MyBatis最为核心的内容&#xff0c;对MyBatis的使用影响很大。 注意&#xff1a;配置文件的层次顺序不能颠倒&#xff0c;一旦颠倒会出现异常。 …

清空了最近删除的照片可以找回吗 照片删除了 最近删除里面也清空了 怎么恢复

我们会把喜欢的照片保存在电脑中&#xff0c;并经常会删除一些不再需要的照片。由于电脑中的照片太多&#xff0c;我们可能会出现一些失误操作。我们每次删除照片之后都要及时查看电脑中的照片&#xff0c;如果发现有失误操作导致照片被删除&#xff0c;可以立即采取措施恢复照…

一款以流程管理为核心的信息化快速开发的办公OA平台,一体化工作平台,开箱即用,私活利器(附源码)

前言 在当今的企业运营中&#xff0c;信息孤岛和系统分散问题日益凸显。员工常常需要在多个系统间切换&#xff0c;以完成不同的工作任务&#xff0c;这不仅效率低下&#xff0c;还容易出错。 为了处理这一痛点&#xff0c;一种集成化的办公平台应运而生&#xff0c;它能够将各…

项目分享:用友yonsuite对接吉客云

项目背景&#xff1a; 客户背景&#xff1a;广州市某电子科技有限公司自1997年创立游戏手柄品牌&#xff0c;专注于游戏外设领域&#xff0c;是国内游戏手柄行业的领军企业。业务规模包括线上平台50多家&#xff0c;线下客户600多家&#xff0c;日单量10000多单。所属行业为电子…

Undefined symbol xTaskGetCurrentTaskHandle (referred from stream_buffer.o).

Undefined symbol xTaskGetCurrentTaskHandle (referred from stream_buffer.o). 解决办法

因子分析★★★★★

该博客为个人学习清风建模的学习笔记&#xff0c;代码全部摘自清风老师&#xff0c;部分课程可以在B站&#xff1a;【强烈推荐】清风&#xff1a;数学建模算法、编程和写作培训的视频课程以及Matlab等软件教学_哔哩哔哩_bilibili 该博文可以与主成分分析一起看&#xff0c;博主…

Database Deadlock: 检测和解决数据库死锁问题 ️

Database Deadlock: 检测和解决数据库死锁问题 &#x1f6e0;️ Database Deadlock: 检测和解决数据库死锁问题 &#x1f6e0;️摘要引言正文内容1. 什么是数据库死锁&#xff1f;死锁的示例 2. 如何检测数据库死锁&#xff1f;2.1 死锁检测器2.2 锁等待超时2.3 查询系统视图 3…

功能强大且免费的电子书格式转换工具

NeatConverter是一款功能强大且免费的电子书格式转换工具&#xff0c;支持多种文件格式之间的互相转换。它能够处理ePub、Azw3、Mobi、Doc、PDF和TXT等文件格式。 NeatConverter软件操作简单&#xff0c;用户界面清晰&#xff0c;只需打开软件并选择需要转换的格式即可完成转换…