RCE和php文件上传

一、远程命令执行(RCE)

RCE漏洞概述 RCE漏洞允许攻击者通过某种方式在目标服务器上执行任意命令。这种漏洞通常出现在服务器端语言中,如PHP。

RCE漏洞原理 PHP中的一些函数可以执行命令或代码,但如果对这些函数的输入未加限制,就可能引发RCE漏洞。

        1.执行PHP代码的函数 以下函数可能存在RCE风险:

$code =$_GET['code'];
eval($code); // 动态执行PHP代码
assert($code); // 断言执行PHP代码
echo preg_replace('/test/e',$code,'hello test'); // 正则表达式执行PHP代码
  1. 执行系统命令的函数 以下函数可用于执行系统命令:
$cmd =$_GET['cmd'];
echo `$cmd`; // 反引号执行系统命令
echo system($cmd); // system函数执行系统命令
echo shell_exec($cmd); // shell_exec函数执行系统命令

示例请求:http://192.168.10.111/day03/rcmd.php?cmd=whoami

  1. 命令链接符的使用
  • commend && 2commend:逻辑与操作,前命令失败则不执行后命令。
  • 1commend & 2commend:后台执行,两个命令同时执行。
  • 1commend || 2commend:逻辑或操作,前命令成功则不执行后命令。
  • 1commend | 2commend:管道操作,将前命令的输出作为后命令的输入。
  1. RCE漏洞防御措施
  • 避免使用危险的函数。
  • 对用户输入进行严格的过滤和验证。

二、文件上传漏洞

  1. 文件上传漏洞概述 文件上传漏洞允许攻击者上传可执行文件到服务器,进而执行恶意代码。

  2. 文件上传漏洞利用 以下是基于upload-lab的学习笔记,展示了文件上传漏洞的常见利用方法:

(1)前端检查绕过 直接删除表单的onsubmit事件。

(2)MIME类型验证绕过 通过抓包工具修改上传文件的Content-Type。

(3)黑名单限制绕过 使用黑名单中未列出的文件后缀名,如.php3、.phtml等。

(4)全面黑名单绕过 上传.htaccess文件,修改服务器配置,使所有文件按PHP执行。

SetHandler application/x-httpd-php

(5)大小写绕过 利用服务器对大小写不敏感的特性,上传不同大小写的文件后缀。

(6)空格和点绕过 在文件名末尾添加空格或点,利用Windows自动去除的特性绕过验证。

  1. 文件上传漏洞防御
  • 使用白名单限制可上传的文件类型。
  • 对上传文件进行重命名,避免使用用户提供的文件名。
  • 对上传文件进行内容检查,确保其安全。

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

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

相关文章

Docker容器下面home assistant忘记账号密码怎么重置?

环境: docker ha 问题描述: Docker容器下面home assistant忘记账号密码怎么重置? 解决方案: 你可以按照以下步骤来找回或重置密码: 方法一 (未解决) 停止并删除当前的Home Assistant容器(确保你已经保…

【Python工具】Python 实现 telnet、loguru 框架下的 DEBUG 分级日志打印

文章目录 1、背景2、轮子2.1、telnet2.2、loguru DEBUG 日志分级 1、背景 最近业务这边需要用 Python 起一个 web 服务器,做 LLM 相关的业务处理。后台选用的是 django 框架做 web 框架,现在也算结项了。初次写 Python,造出来的轮子啥的总结…

Redis学习[3] ——持久化

四. Redis 持久化 4.1 Redis 如何保证数据不丢失? 由于Redis的数据是保存在内存中,而内存中的数据会在Redis重启后丢失。因此,为了保证数据不丢失,Redis实现了数据持久化的机制。这个机制会将内存中的数据存储到磁盘&#xff0c…

【前端 · 面试 】JavaScript 之你不一定会的基础题(一)

最近我在做前端面试题总结系列,感兴趣的朋友可以添加关注,欢迎指正、交流。 争取每个知识点能够多总结一些,至少要做到在面试时,针对每个知识点都可以侃起来,不至于哑火。 JavaScript 之你不一定会的基础题 前言 面试往…

[LLM]一文学会如何构建属于私有Code Pilot

本文将使用基于Llama.cpp的插件Tabby构建个人Code Pilot助手。 首先我们看一下编码的大模型榜单,在抱抱脸上bigcode上可以参考。 给VSCode插上翅膀 榜单上排名第一的是OpenCodeInterpreter-DS-33B,看起来很强大但是显然 MAC M1 是跑不了。虽然 MAC M1可…

使用人工智能在乳腺癌筛查中的早期影响指标| 文献速递-AI辅助的放射影像疾病诊断

Title 题目 Early Indicators of the Impact of Using AI in Mammography Screening for Breast Cancer 使用人工智能在乳腺癌筛查中的早期影响指标 01 文献速递介绍 基于人群的乳腺癌筛查通过使用乳房X线摄影成功地降低了乳腺癌的死亡率,但这给乳腺放射科医生…

react中路由懒加载

// 1.引入方法,用于创建路由实例 // createBrowserRouter是用于创建history模式 // createHashRouter是用于创建hash模式 // 路由模式的切换只需要更改创建路由实例的方法就行了,其他地方不需要更改 import { createBrowserRouter,createHashRouter } fr…

Navicat For Mysql连接Mysql8.0报错:客户端不支持服务器请求的身份验证协议

windows通过navicat连接本地mysql时报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client 一、问题原因二、解决方法1--失败1. 连接mysql客户端2. 修改加密方式3.正确的解决方法1.查找my.ini文件2.修改my.ini文件3.重…

[C#]基于wpf实现的一百多种音色的Midi键盘软件

键盘 音色库 源码地址:https://download.csdn.net/download/FL1623863129/89599322

NLP与搜广推常见面试问题

1 auc指标 AUC的两种意义 一个是ROC曲线的面积另外一个是统计意义。从统计学角度理解,AUC等于随机挑选一个正样本和负样本时,模型对正样本的预测分数大于负样本的预测分数的概率。下图为搜广推场景下的一个计算auc的例子

开启mybatis-plus日志功能

第一部分:配置文件增添参数 增加如下: configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 第二部分:运行效果展示

[数据集][目标检测]金属罐缺陷检测数据集VOC+YOLO格式8095张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):8095 标注数量(xml文件个数):8095 标注数量(txt文件个数):8095 标注…

Snowflake 集成模式:Apache Kafka 与零 ETL 和反向 ETL

Snowflake 是领先的云原生数据仓库。集成模式包括批量数据集成、零 ETL 和使用 Apache Kafka 的近乎实时的数据摄取。这篇博文探讨了不同的方法,并发现了它们的利弊。根据行业建议,建议避免使用反向 ETL 等反模式,而是使用数据流来增强企业架…

Vue Router 进阶

Vue Router 通过跳转或取消的方式守卫导航,可以在导航解析的不同节点来控制路由的跳转与取消。定义路由时,可以配置元信息。可以定制页面跳转的过度效果。还可以在程序已经运行的时候添加和删除路由。 1 Router进阶 1.1 导航守卫 守卫,是指…

高品质定制线缆知名智造品牌推荐-精工电联:高压线缆行业定制服务的领航者

定制线缆源头厂家推荐-精工电联:高压线缆行业定制服务的领航者 在当今这个高度信息化的社会,电力传输与分配系统的稳定运行至关重要。作为连接各个电力设备的纽带,高压线缆的质量直接关系到电力系统的安全性和稳定性。在定制高压线缆行业中&a…

Apache DolphinScheduler用户线上Meetup火热来袭!

Apache DolphinScheduler 社区 8 月用户交流会精彩继续!本次活动邀请到老牌农牧产品实业集团铁骑力士架构工程师,来分享Apache DolphinScheduler在现代农牧食品加工场景中的应用实践。此外,还将有社区活跃贡献者以Apache DolphinScheduler为例…

C语言进阶 13. 文件

C语言进阶 13. 文件 文章目录 C语言进阶 13. 文件13.1. 格式化输入输出13.2. 文件输入输出13.3. 二进制文件13.4. 按位运算13.5. 移位运算13.6. 位运算例子13.7. 位段 13.1. 格式化输入输出 格式化输入输出: printf %[flags][width][.prec][hlL]type scanf %[flags]type %[fl…

Spring Boot:SpringBoot入门

本文是跟着B站"黑马程序员"up主的SpringBoot3vue3的视频的学习过程记录,仅用于学习记录 视频里的图: 呃。。。。都没有学过这些。。。。。 不管了,先学。。。。。。入门: 创建Maven工程 导入spring-boot-stater-web起…

AI测试:人工智能模型的核心测试指标,分类判别、目标检测、图像分割、定量计算分别有哪些指标?

在前面的人工智能测试技术系列文章中,我们详细介绍了人工智能测试的技术方法和实践流程。在了解人工智能测试方法后,我们需要进一步学习和研究如何衡量这些方法的有效性,即人工智能模型测试指标的选择。测试指标的选择主要取决于模型的类型和…