命令执行_代码执行漏洞

2023-11-05

远程代码注入漏洞

原理

攻击者可利用代码注入漏洞执行任意代码,来操作服务器

危害

执行任意代码,来操作服务器

操作数据库,插入恶意数据,可能获取 系统权限

攻击修改系统配置,修改网络配置,可能对 服务器及网络造成影响

可以进一步对网络渗透,由于代码注入攻击多半可获取系统权限,对网络的进一步渗透难度大大降低

代码执行、文件读取、命令执行的函数:

文件执行:eval、call_user_func、call_user_func_array 、assert()等

文件读取:fopen()、readfile()、fread()、file()、show_source()等

命令执行:system()、exec()、shell_exec()、passthru()、pcntl_exec() 等;“反引号()

反引号()

实际调用的shell_exec()函数

防御

敏感函数禁用

变量过滤或固定

WAF产品

修复方法

不需要执行远程代码时,可以修改php.ini配置:allow_url_fopen = Off allow_url_include = Off

不要直接导入用户输入的内容

执行代码的参数,或文件名,禁止和用户输入相关,只能由开发人员定义代码内容,用户只能提交“1、2、3”等参数,代表相应代码。

命令执行漏洞

原理:

攻击者通过web应用执行系统命令,获得敏感信息,进而控制服务器攻击内网。

产生条件

应用调用执行命令的函数

将用户输入的内容作为系统参数拼接到命令中

没有对用户输入的内容过滤或过滤不严格

产生原理

应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击。

防御方法

少用执行命令的函数或者禁用

参数值使用引号包括,并在拼接前调用addslashes函数进行转义

在使用动态函数前,确保使用的函数是指定的函数之一

在进入执行命令的函数方法之前,对参数进行过滤,对敏感字符进行转义

对于可控点是程序参数的情况下,使用escapeshellcmd函数进行过滤

严格控制文件名参数值,先判断文件名或文件路径是否合法

危害

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

反弹shell(就是控制端监听在某个端口,被控制发起请求到该端口,并将其命令行的输入输出转到控制端)

控制整个网站甚至控制服务器。

为什么需要反弹shell

反弹shell通常用于被控端因防火墙受限、权限不足、端口被占用等情形。在渗透过程中,往往因为端口限制而无法直连目标机器,此时需要通过反弹shell来获取一个交互式shell,以便继续深入。

进一步内网渗透

命令执行漏洞怎么发现?

通过nessus扫描器的Sitemap模块,发现了可疑目录

根据sitemap的目录信息,打开URL:http://x.x.x.x:28076/file/,发现存在未授权访问漏洞,逐个查看里面的文件,蒙了一下dirFiles.jsp的 参数,使用"path"作为参数名可列出目录、文件信息,URL,同样的方法,发现show.jsp存在任意文件读取漏洞

修复方法:

严格控制文件名参数值,先判断文件名或文件路径是否合法可修复漏洞

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

命令执行_代码执行漏洞 的相关文章

  • 如何删除重复字符

    算法思路 第一种方法 蛮力法 最简单的方法就是把这个字符串看作是一个字符数组 对该数组使用双重循环进行遍历 如果发现有重复的字符 就把该字符置为 0 最后再把这个字符数组中所有的 0 去掉 此时得到的字符串就是删除重复字符后的目标字符串 代

随机推荐

  • vue3+ts的父子组件传参以及withDefaults、defineExpose用法介绍

    1 父组件给子组件传参 以及withDefaults用法介绍 父组件代码
  • 前端向后端请求数据,后端向数据库请求并回传过程

    一个select下拉框 点击不同的选项向后端请求相应机位的图片 1 首先在下拉框的 change 中添加向后端获取请求的接口 function getOtherImage camera axios get image other image
  • 前端例程20220906:霓虹灯效按钮

    演示 原理 按钮使用阴影实现发光效果 设置元素块加强外发光效果 设置为光标悬停时才显现 使用元素块定位到按钮下方 3D形变后进行模糊处理作为倒影 代码
  • 联想笔记本无线网络无法使用(无线开关已打开,但搜不到无线网络)

    今天 同事拿过来一台笔记本 说收不到无线网络了 插上有线可以上网 让给她看看 我看了一眼 果然是 插上网上后 是可以上网的 但就是收不到无线网络 本子是联想的 应该是很老的本子了 也没找到型号在哪 看了一下它的无线外置开关 是打开状态 但是
  • 铁腕军阀服务器无响应,铁腕军阀冬季攻势

    铁腕军阀冬季攻势是第一人称的3D动作射击类大作 游戏类型有点像半条命 通过杀敌可以获得游戏中的金币 然后购买更强力的武器来抵御一波又一波的敌人 游戏介绍 如果你是半条命系列的爱好者 那你可能会玩过一款叫Iron Grip The Oppre
  • GPIO口的pull up和pull down,no pull的意义以及怎么配置。

    一般来说 需要区分这个GPIO口用于输入还是输出 如果是output 那个一般选择no pull 这样 引脚才能根据你的output数据 进行正确输出 如果是input 那么需要看具体应用的默认输入值是0还是1 如果默认是输入0 则最好配置
  • 机器学习知识总结 —— 21. 什么是主成分分析

    文章目录 什么是PCA Principal Component Analysis 协方差矩阵 什么是协方差 协方差矩阵 特征值与特征向量 PCA降维 什么是PCA Principal Component Analysis 在机器学习中 PC
  • VSC/SMC(十五)——基于模糊逼近的积分滑模控制

    目录 前言 1 一阶系统积分滑模 1 1 一阶系统 1 2 控制器设计 1 2 1 选取积分滑模面 1 2 2 选取指数趋近律 1 2 3 Lypunov闭环系统稳定性证明 1 3 仿真分析 1 4 仿真结果 2 基于模糊切换增益调节的滑模
  • Win10下给Hyper-V配置网络——Bridging 和 Nat 模式

    Win10下给Hyper V配置网络 Bridging 和 Nat 模式 Hyper V 网络配置 桥接 好处 有 IP 可以被外部访问 Nat 没有 ip 外部不能访问 但可以访问外部 隐蔽性好 Hyper V 网络配置 yper V网络
  • ES7.7中highlight的结果丢失部分文本的bug

    本bug在windows版本 ES 7 7 0 和 7 15 2 中都可以再现 ik分词器已安装 并导入了扩展停止词 extra stopword dic Step1 先建立一个索引 在此之前 请确保已经安装分词器插件ik PUT test
  • python中sorted简单的使用

    sorted sorted iterable key 函数 reverse False 功能 排序 参数 iterable 容器类型数据 range对象 迭代器 key 指定 自定义函数或 内置函数 reverse 代表升序或者降序 默认是
  • 性能测试详解(理论篇)

    目录 一 性能测试的分类 1 负载测试 2 强度测试 3 容量测试 二 性能测试的指标 1 并发用户数 2 响应时间 3 吞吐量 4 资源利用率 三 性能测试的目的 四 性能测试的范围 五 性能测试流程 1 需求分析 2 测试设计 3 测试
  • 极智Paper

    欢迎关注我的公众号 极智视界 获取我的更多笔记分享 大家好 我是极智视界 本文解读一下 YOLOS 通过目标检测重新思考Vision Transformer Transformer 是否能够从纯序列到序列的角度 在仅有的关于二维空间结构知识
  • adb 命令积累

    一 adb 查看手机端APP的包名 1 adb devices 手机端连接电脑 adb调试打开 2 adb shell am monitor 输入此命令后打开要查看的APP应用 之后显示的就是APP的包名3 adb uninstall 卸载
  • java将图片转成透明背景

    import javax imageio ImageIO import java awt image BufferedImage import java io author zhaojinhui date 2021 6 10 11 14 a
  • SpringBoot项目优化和Jvm调优(楼主亲测,真实有效)

    项目调优 作为一名工程师 项目调优这事 是必须得熟练掌握的事情 在SpringBoot项目中 调优主要通过配置文件和配置JVM的参数的方式进行 在这边有一篇比较好的文章 推荐给大家 SpringBoot项目配置Tomcat和JVM参数 一
  • 点云常见格式转换(pcd,txt,ply,obj,stl)

    pcb转txt include
  • vue3报错 Unexpected mutation of “xxx“ prop.(eslintvue/no-mutating-props)

    vue3报错 Unexpected mutation of xxx prop eslintvue no mutating props eslint校验报这个错 其实是Vue的单向数据流的概念 因为识别到子组件中修改了props值 我这里踩到
  • 阿里云无影云电脑介绍_云办公_使用_价格和优势说明

    什么是阿里云无影云电脑 无影云电脑 原云桌面 是一种快速构建 高效管理桌面办公环境 无影云电脑可用于远程办公 多分支机构 安全OA 短期使用 专业制图等使用场景 阿里云百科分享无影云桌面的详细介绍 租用价格 云电脑的优势 使用场景 网络架构
  • 命令执行_代码执行漏洞

    远程代码注入漏洞 原理 攻击者可利用代码注入漏洞执行任意代码 来操作服务器 危害 执行任意代码 来操作服务器 操作数据库 插入恶意数据 可能获取 系统权限 攻击修改系统配置 修改网络配置 可能对 服务器及网络造成影响 可以进一步对网络渗透