Web的基本漏洞--命令执行漏洞

news2024/11/16 19:05:36

目录

一、命令执行漏洞

1.命令执行漏洞的原理

2.命令执行漏洞分类

3.命令执行漏洞的危害

4.命令执行漏洞的防范措施

5.命令执行漏洞的绕过


 

一、命令执行漏洞

命令执行漏洞是指攻击者可以随意执行系统命令。它属于高危漏洞之一,也属于代码执行的范畴。命令执行漏洞不仅仅存在于B/S架构中,在C/S架构中也常常遇到。

简单的说,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许使用者通过改变$PATH或程序执行环境的其他方面来执行一个恶意构造的代码。

1.命令执行漏洞的原理

命令执行漏洞是指应用有时候需要调用一些执行系统命令的函数,例如:system()、exec()、shell_exec()、eval()、passthru(),代码未对用户可控参数做过滤,当用户控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击

2.命令执行漏洞分类

命令直接注入执行漏洞
应用程序直接使用了危险的可执行系统命令的函数,比如php的system、exec函数等,并且这些函数的运行参数是用户可控的,若过滤不严格,就会增大命令执行漏洞的概率。命令本地包含执行漏洞。(注:(CGI)系统命令注入执行漏洞示例,就比如Bash漏洞,就属于这类漏洞,用户可以直接更改HTTP头user-agent的值,就可引发命令注入。)

命令包含执行漏洞
命令本地/远程包含漏洞:应用程序直接包含或执行了用户可控的上传脚本文件或远程文件(URL引用文件),就会触发此漏洞。

命令反序列执行漏洞
有些动态脚本语言,如php支持实例对象的序列化传输,然后服务端将实例对象反序列化出来并执行解析后实例的构造函数、析构函数或_wakeup()函数,若这些函数利用了用户可控的参数,则会触发命令/代码注入执行漏洞,原理和之前直接注入一样。

命令动态变量执行漏洞
有些动态脚本语言,如php,支持变量或函数的动态定义,即运行时可通过参数名来动态组装变量、变量值或函数。若代码中包含有类似代码,就会存在动态变量/函数的执行漏洞

3.命令执行漏洞的危害

1.继承web服务程序的权限去执行系统命令或读写文件

2.反弹shell

3.控制整个网站甚至服务器

4.进一步内网渗透

4.命令执行漏洞的防范措施

1.尽量不要执行外部命令

2.使用自定义函数或函数库替代外部函数功能

3.使用escapeshellarg函数来处理命令参数

 4.使用safe_mode_exec_dir:指定可执行文件路径 ,这样可以将会使用的命令提前放入此路径内safe_mode_exec_dir = /usr/local/php/bin

5.命令执行漏洞的绕过

  1. 空格过滤
  2. 黑名单绕过
  3. 通配符绕过
  4. 内敛执行绕过
  5. 编码绕过
  6. 绕过长度限制

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

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

相关文章

内置工具横向移动

IPCSchtasks IPC: IPC$是共享"命令管道"的资源,它是为了让进程通信而开放的命名管道,连接双方可以建立安全的通道并以此通道进行加密数据交换,从而实现对远程计算机的访问。 利用条件: 1、开放139、445 2、目标开启…

Node.js V10.24.1 安装步骤(node、cnpm、yarn、vue)

一、下载node.js 下载地址:Download | Node.js 要下载历史低版本请点击“Previous Releases” Previous Releases 本文章以V10.24.1为例 ,下载64位msi 二、安装 下载完成后,一直点击Next直到安装完成,可以自己修改安装位置。…

09.二叉树

09.二叉树 1.树型结构 1.1概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点&…

收到字节offer,我却拒绝了...

前言: 大四快毕业了,在等待读研的期间无事可做,所以打算暑期找个实习。 忠告: 本人投了字节某测试岗,看到要求是测开的要求(科班出身需要熟悉一种语言),就以为面完发技术岗的offe…

note注解

元注解 注解在注解上面的注解称为元注解。主要有以下五种。 Retention 表明注解存活时间 Documented 将注解元素放到Javadoc文档中 Target 注解可以使用到的地方 在ElementType[]中主要有以下几种类型 TYPE:类型(比如类、注解、枚举) FIELD&…

Refresh解析

目录 后置处理器PostProcessor PostProcessor的种类 Aware 事件监听模式 Spring容器的刷新逻辑 ApplicationContext refresh的流程概述 1---prepareRefresh 2---obtainFreshBeanFactory 3---prepareBeanFactory 4---postProcessBeanFactory 5---invokeBeanFactoryPo…

【正点原子STM32连载】 第二十一章 通用定时器实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第二十…

海康萤石摄像头本地局域网拉流保存

海康萤石的视频cp1型号,获取局域网的视频流:rtsp 拉流方法 首先需要在软件中打开rtsp开关,然后使用nmap工具测试下摄像头开放的端口号,一定会有一个554端口开放 $ nmap 192.168.0.105 PORT STATE SERVICE 554/tcp open r…

什么是Flink CDC,以及如何使用

什么是Flink CDC,以及如何使用 CDC介绍Flink CDC适用于场景?Flink CDC 的简单用例数据库配置创建数据库和相应的表开启mysql数据库bin-log日志1.如果是服务器2.如果在Windows使用小皮 搭建Flink CDC java环境添加maven相关pom构建Sinkmain配置运行 操作数…

盘点中国开发的有影响力的编程技术产品,道阻且长,行则将至

计算机诞生之后,程序员需要给计算机发送指令,能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。计算机需要能够识别并执行指令。这个“指令”就是我们今天的“编程语言”,一种计算机和人都能识别…

【十】设计模式~~~结构型模式~~~享元模式(Java)

【学习难度:★★★★☆,使用频率:★☆☆☆☆】 5.1. 模式动机 面向对象技术可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高&#xff0…

路径规划算法:基于自私羊群优化的路径规划算法- 附代码

路径规划算法:基于自私羊群优化的路径规划算法- 附代码 文章目录 路径规划算法:基于自私羊群优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

图解max{X,Y}和min{X,Y}并求相关概率

图解max{X,Y}和min{X,Y}并求相关概率 对max{X,Y}或min{X,Y}进行分解再求解 P ( m a x { X , Y } ≥ c ) P [ ( X ≥ c ) ∪ ( Y ≥ c ) ] P ( m a x { X , Y } ≤ c ) P [ ( X ≤ c ) ∩ ( Y ≤ c ) ] P ( m i n { X , Y } ≥ c ) P [ ( X ≥ c ) ∩ ( Y ≥ c ) ] P ( m i…

2022年12月1日郑州大学新闻与传播学院副院长博导郑*侠—社科申报注意事项

郑老师(1项重点社科,2项青年社科), 一、选题 随时关注 最新国家层面信息:二十大报告,重要文件,重点项目信息 选题方向:问题导向 时代问题—学术问题—现实问题 题目命名&#xf…

基于微信小程序的社区生活管理

一:系统使用到的技术栈 SSMJSP原生JSMysql微信小程序 二:表结构 三:功能截图 四.源码获取

【工具学习】- Python通过dxfgrabber库获取CAD信息

Python - dxfgrabber库获取CAD信息 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 一个有梦有戏的人 怒放吧德德 🌝分享学习心得,欢迎…

如何利用Stable Diffusion WebUI快速制作漫画开源

今天给大家带来的是如何利用Stable Diffusion WebUI快速制作漫画。 欢迎大家可以关注我的公众号《乔说科技》,关于如何制作动漫前置学习,请点击如下文章查看相关技术: (1)如何安装绘图工具Stable Diffusion WebUI&…

2023 手术机器人现状

先看一下主要分类: 手术机器人总览,看一下这张图: 先简单说一下国外的: 1 . 达芬奇手术机器人 简单地说,达芬奇机器人就是高级的腹腔镜系统。大家可能对现在流行的微创治疗手段如:胸腔镜、腹腔镜、妇科腔…

dubbo 3.2.0 token-有bug慎用

dubbo3 provider可以配置token dubbo: application: name: merge-provider-1 qos-enable: false protocol: name: dubbo port: 20880 registry: address: zookeeper://${zookeeper.address:192.168.157.151}:2181 provider: token: “true” 当token 配置为true的时候&#x…

Electron25集成Vue3新建多开窗口|vite4+electron窗体管理器

继上一次分享electron24vite4整合构建桌面端窗口应用。这次在此基础上分享封装多开窗口管理器ElectronVite-MultiWin。 https://blog.csdn.net/yanxinyun1990/article/details/130944508 截至目前Electron最新稳定版本到25了。 electron快速迭代更新,vite的高效构建…