远程代码执行渗透与防御

news2024/12/23 18:26:44

远程代码执行渗透与防御

  • 1.简介
  • 2.PHP RCE常见函数
  • 3.靶场练习
  • 4.防御姿势

1.简介

远程代码执行漏洞又叫命令注入漏洞

命令注入是一种攻击,其目标是通过易受攻击的应用程序在主机操作系统上执行任意命令。 当应用程序将不安全的用户提供的数据(表单、cookie、HTTP 标头等)传递到系统 shell 时,这些类型的攻击就有可能发生了。 在这种攻击中,攻击者提供的操作系统命令通常以易受攻击的应用程序的权限执行。 通常,由于输入验证不足,它们是很可能发生的

漏洞危害

  • 获取服务器权限
  • 获取敏感数据文件
  • 写入恶意文件getshell
  • 植入木马病毒勒索软件

2.PHP RCE常见函数

命令command注入

命令作用
system()执行外部程序,并且显示输出
exec()/shell_exec()通过shell执行命令,并且将完整的输出以字符串的方式返回
pcntl_exec()在当前进程空间执行指定程序
passthru()执行外部程序并且显示原始输出
popen()打开进程文件指针
proc_open()执行一个命令,并且打开用来输入/输出的文件指针

代码code注入

函数作用
eval()把字符串code作为PHP代码执行
assert()检查一个断言是否位false
preg_repalce()执行一个正则表达式的搜索和替换
create_function()创建一个匿名函数并且返回函数名称
call_user_func()/call_user_func_array()把第一个参数作为回调函数调用
usort()/uasort()使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

3.靶场练习

皮卡丘 exec "ping"

ping一下百度网,正常回显:

在这里插入图片描述

查看源码,发现对输入没有处理之后我们还是一手拼接

baidu.com & ipconfig

命令执行成功!

在这里插入图片描述

皮卡丘 exec "eval"

exec"evel",更简单。随意输入字符,返回文字

eval(输入)也就是执行任何我们输入的数据,例如输入phpinfo();

在这里插入图片描述


4.防御姿势

  1. 开源框架,升级到最新版本
  2. 尽量不使用命令执行的函数
  3. 尽量使用白名单
  4. 用正则表达式对用户输入的内容进行充分处理
  5. 使用WAF

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

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

相关文章

jQuery 基础入门速成上篇

jQuery 是目前使用最广泛的 javascript 函数库。提到 jQuery 你可能知道这句英文 : ———— Write Less,Do More ( 写的少,做的多 ) 引入jQuery jQuery是一个函数库,一个 js 文件,页面可以使用 script标签 引入使用&a…

JVM 类加载器

文章目录1 类加载器1.1 类加载器介绍1.2 类加载器的加载规则1.2 类加载器类型总结2 双亲委派模型2.1 双亲委派模型介绍2.2 双亲委派模型的执行流程2.3 双亲委派模型的好处回顾一下类加载过程:加载->连接->初始化。 其中连接又分为:验证->准备-&…

指针太难?手把手教你理解指针(传参、函数指针)

目录 前言 一、数组和指针的参数 1.一维数组传参 2.二维数组传参 3.一级指针传参 4.二级指针传参 二、函数指针 1.函数的地址 2.函数指针的形式 3.函数指针的使用 三、加深理解,两段有趣的代码 前言 之前的一篇文章讲到了指针的概念、指针和数组的关系&am…

【机器学习】随机森林预测泰坦尼克号生还概率

目录 前言: 【一】数据清洗及可视化 介绍 知识点 环境准备 数据特征介绍 检查数据 相关系数 缺失值 偏态分布 数值化和标准化 离群点 实验总结一 【二】分类模型训练及评价 介绍 环境准备 模型评估 模型选择 性能度量 实验总结二 【三】随机森…

机器学习入门(全连接神经网络-1)

机器学习入门(全连接神经网络-1) 目录 机器学习入门(全连接神经网络-1)一、神经元简介1.概念2.例子二、常见的激活函数从神经元开始进行讲述,从零开始搭建全连接神经网络。 一、神经元简介 1.概念 神经元是神经网络的基本组成单位。 神经元接受输入,对它们进行一些数学运…

自主机器人运动规划|地图相关概念总结

自主机器人运动规划|地图相关概念总结地图表示占用栅格地图八叉树地图(Octo-map)Voxel hashing(哈希表地图)点云地图TSDF mapESDF map地图表示 地图分成两个模块: 地图装在数据的数据结构地图信息融合方法 占用栅格地图 使用最为广范的是 …

用PyTorch训练模型识别captcha库生成的验证码

目录 制作训练数据集 用Dataloader加载自定义的Dataset 训练模型 识别验证码 总结与提高 源码下载 在本节,我们将使用深度学习框架PyTorch来训练模型去识别一种难度稍大一点的数字字母混合验证码(我们可以使用第三方库captcha生成这种验证码&#…

4.2 换元积分法

思维导图: 学习目标: 学习换元积分法时,可以遵循以下几个步骤: 理解换元积分法的基本思想:将一个复杂的积分变成一个简单的积分,通过引入一个新的变量来实现。 掌握换元积分法的基本公式:如果…

reviewSpringBoot

1.springboot简介说明 Springboot简化新Spring应用的初始搭建以及开发过程 SpringBoot是基于Spring的框架,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 SpringBoot集成了绝大部分目前流行的开发框架,就像…

FISCO-BCOS链节点黑名单对共识的影响

目录一、前言二、测试过程三、PBFT一、前言 目的:在fisco-bcos(v2.8.0)环境下,测试黑名单对节点共识的影响。 部署搭建四节点的链,并部署console: https://fisco-bcos-documentation.readthedocs.io/zh_…

3 个自定义防抖 Hooks 的实现原理

前言— 本文通过实现 useDebounceFn、useDebounce、useDebounceEffect 3 种自定义防抖 Hooks,来介绍在日常开发过程中自定义 Hooks 的思路及实现,帮助大家完成通用 Hooks 来提高开发效率。 防抖— 防抖的概念已经司空见惯了,这里稍作简单介…

00后也太卷了吧!进厂起薪18K,原来面试时候都说了这些......

都说00后躺平了,但是有一说一,该牛的还是牛。 这不,前段时间公司来了个00后,工作都没两年,跳槽起薪18K。本来还以为是个年少有为的技术大牛呢,结果相处一个月下来发现技术也就那样。 问起他是如何做到和老…

Java Web学习路线

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Java Web ⭐如果觉得文章写的不错,欢迎点个关注一键三连😉有写的不好的地方也欢迎指正&a…

(四)栈—中缀表达式转后缀表达式

一、基本介绍 二、应用实例 将中缀表达式"1((23)x4)-5" 转换为 后缀表达式"1 2 3 4 x 5 -" 思路: 1.初始化两个栈:运算符栈s1和存储中间结果的栈s2; 2.从左至右扫描中缀表达式&#x…

【c++初阶】第九篇:vector(常用接口的使用 + 模拟实现)

文章目录vector介绍vector的使用vector的定义vector iterator(迭代器) 的使用begin和endrbegin和rendvector 空间增长问题size和capacityreserve和resize(重点)测试vector的默认扩容机制emptyvector的增删查改push_back和pop_backinsert和erasefindswapo…

GPT-4创造者:第二次改变AI浪潮的方向

OneFlow编译 翻译|贾川、杨婷、徐佳渝 编辑|王金许 一朝成名天下知。ChatGPT/GPT-4相关的新闻接二连三刷屏朋友圈,如今,这些模型背后的公司OpenAI的知名度不亚于任何科技巨头。 不过,就在ChatGPT问世前,Ope…

Verilog Tutorial(10)如何实现可复用的设计?

写在前面在自己准备写verilog教程之前,参考了许多资料----FPGA Tutorial网站的这套verilog教程即是其一。这套教程写得不错,只是没有中文,在下只好斗胆翻译过来(加了自己的理解)分享给大家。这是网站原文:h…

【敬伟ps教程】平移、缩放、移动、选区

文章目录平移抓手工具旋转抓手缩放工具移动工具详解选区选区工具详解平移 抓手工具 当打开一张大图时,可以通过修改底部的百分比或使用抓手工具(H或在任何时候按住空格键来使用抓手工具)来查看更多细节 使用抓手工具时滚动所有打开的文档&…

几何的显式表示 - 曲线和曲面

点云:list of points(x, y, z) 将点云变成多边形的面,从而在计算机中输出多边形网格:Polygon Mesh 就是 拆成小三角 贝塞尔曲线 定义曲线只要满足起止点即可,P1,P2决定了它要往哪个方向弯 de Ca…

STM32 HAL库PID控制电机 第三章 PID控制双电机

STM32 HAL库PID控制电机 第三章 PID控制双电机 注:本文含全部PID控制代码,保证可以运行,如不能运行可以留言回复 1 基础配置 1.1 编码器电路图及配置 引脚定时器通道PA0TIM2_CH1PA1TIM2_CH2PB6TIM4_CH1PB7TIM4_CH2因此需要把TIM2、TIM4配置为编码器模式。在STM32CubeMX中…