Java代码审计之命令执行漏洞

2023-11-10

进行代码审计时遇到一个比较典型命令执行漏洞,适合新手学习,给大家分享下整个过程。

从代码中可以看出来程序只使用trim()方法对jdk进行了两遍的空格过滤,然后直接和后面拼接的命令一起执行。

接着来找一下这个方法的调用链:

可以看到这里依次调用了3个命令执行的方法,如果命令都能成功执行的话,可以执行3次。

然后找一下这个jdk参数是否是我们可控的:

上面的代码显示jdk这个参数是从请求中获取的,看到这里已经能确定是个命令执行漏洞了,下面我们来利用这个漏洞。

执行了ls&&结果报错,看显示结果发现过滤了&&,然后把&转编码发现还是会报错,但是从服务端代码来看并没有做参数的过滤。

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

Java代码审计之命令执行漏洞 的相关文章

  • 知道 akka actor 何时完成

    有几个人和我一起从事一个项目 一直在试图找出解决这个问题的最佳方法 看起来这应该是经常需要的标准东西 但由于某种原因我们似乎无法得到正确的答案 如果我有一些工作要做 并且我向路由器抛出一堆消息 我如何知道所有工作何时完成 例如 如果我们正在
  • 如何设置评分栏的星星颜色?

    如何设置评分栏的星星颜色 我想要黄色星星 最简单的方法 android progressTint color color 光滑有光泽
  • Servlet 包含 Tomcat 中的 HTTP 标头

    我有一个 servlet 它的请求调度程序包含另一个 servlet 包含的 servlet 设置了我想在包括小服务程序 因此 我在 include 方法中传入一个自定义 HTTPResponse 对象 该对象捕获来自 servlet 的所
  • Java 中修剪字符串的可能前缀

    I have String str 我想从中提取不包括可能的前缀的子字符串 abc 我想到的第一个解决方案是 if str startsWith abc return str substring abc length return str
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我收到异常: java.lang.IllegalStateException: getOutputStream() 已被调用用于此响应

    我想编写代码来下载保留在我的系统中的文件 这是我的代码 在控制器类中 我有以下映射 RequestMapping value processFile method RequestMethod POST public ResponseBody
  • C# 到 Java:Base64String、MemoryStream、GZipStream

    我有一个在 NET 中压缩的 Base64 字符串 我想将其转换回 Java 中的字符串 我正在寻找一些与 C 语法等效的 Java 语法 特别是 Convert FromBase64String 内存流 压缩流 这是我想要转换的方法 pu
  • 何时使用环境变量与系统属性?

    我想知道以下哪种方法是首选方法 我们可以将事情设置为APP HOME path to file export in profile或类似的东西 并将其访问为System getenv APP HOME 或者 也可以使用属性作为 DAPP H
  • 更改单击后退按钮上的 BottomNavigationView 图标

    在我的布局的底部有一个底部导航视图与三个片段 如果我单击后退按钮 片段将切换 但底部图标不会切换 我该如何修复它 addToBackStack 有效 也许您有一些关于美化代码的建议 在活动或片段中添加片段标签是一个好的做法吗 public
  • 如何设置 Eclipse 以停止发生异常的线路?

    如何设置 Eclipse 在发生异常时停止 我有一个 Eclipse 断点设置来在异常时中断 在下面的代码示例中 我遇到的问题是 Eclipse 尝试打开 Integer 源代码 有没有办法让调试器在我的代码示例中显示的位置中断 如果我向下
  • 在 Android 谷歌地图中绘制 4K 折线

    我现在正在开发一个适用于 Android 设备的应用程序 主要功能是在地图上绘制折线以显示城市中每条街道的交通情况 不幸的是 当我绘制大约 3K 折线时 数量会根据屏幕尺寸和缩放级别而减少 我的地图变得非常慢 我没有提及绘制所有线条的时间
  • Java中的字符算术

    在玩的过程中 我遇到了一些对我来说似乎很奇怪的事情 以下不是有效的 Java 代码 char x A x x 1 possible loss of precision 因为其中一个操作数是整数 所以另一个操作数被转换为整数 结果无法分配给字
  • Java TreeMap时间复杂度-lowerKey

    时间复杂度是多少lowerKey Java实现中的操作TreeMap 我认为它是 log n 但我在文档中找不到它 更基本操作的复杂性已有详细记录 此实现提供了有保证的 log n 时间成本 containsKey 获取 放置和删除操作 顺
  • 如何将 Java 字节数组转换为 Scala 字节数组?

    我是 Scala 新手 目前正在从事一个涉及 Java 和 Scala 模块的项目 现在我想使用 byte 类型的参数从 Java 调用 Scala 方法 Scala 方法的签名为 def foo data Array Byte Java
  • 如何对动态渲染 html 和 css 的 Java 代码进行单元测试?

    我有一个 Java 类 它从数据库获取表单定义 然后根据表单定义呈现 html javascript 和 css 它使用大量 appendable append append 来构建html 片段 这很容易出错 Jsp 和通用模板框架 例如
  • 遍历多行字符串

    我得到一些数据 def data some useless text n even more n finally interesting text 我怎样才能得到其中 有趣的部分 所以基本上所有行都不是以 开头的 Groovy 的一种选择是
  • 编写代码以:启动 R 会话、运行 R 脚本、终止会话、重复

    我正在寻找一种简单的 设置后就忘记它 的方式 无论是作为终端中的单个参数字符串还是简单的 Java 程序 来自动执行以下操作 1 启动R会话 2 告诉 R 源 R 文件包含冗长的并行模拟代码 3 完成后终止R会话 4 开始一个新的R会话 5
  • 错误:java.lang.NoSuchMethodError:org/springframework/asm/ClassVisitor.(I)V

    我的 POM 中有这两个依赖项 我认为这是造成此问题的原因 但我尝试了许多不同的方法和更新的版本 但没有任何效果对我有用 有人可以帮忙吗 XML文件
  • Java:如何复制对象数组?

    现在 我有一个 Point 对象数组 我想制作一个COPY该数组的 我尝试过以下方法 1 Point temp mypointarray 2 Point temp Point mypointarray clone 3 Point temp
  • OutputStream 到 DB2 数据库表的 BLOB 列

    在 DB2 数据库中 我有下表 CREATE TABLE MyTestTable MYPATH VARCHAR 512 NOT NULL MYDATA BLOB CONSTRAINT MYTESTTABLE PK PRIMARY KEY M

随机推荐

  • Python:后缀为whl的文件是什么?如何安装whl文件?

    whl格式本质上是一个压缩包 里面包含了py文件 以及经过编译的pyd文件 使得可以在不具备编译环境的情况下 选择合适自己的python环境进行安装 安装方法很简单 进入命令行输入 pip install xxxx whl 或者如果是升级
  • 有向图-邻接表

    有向图邻接表 自我感觉比邻接矩阵要理解复杂一点 但是节省的空间不是小数目 所以虽然复杂 但是我们还是要优先考虑邻接表吧 下面代码简单的写了邻接表 但是基本核心的代码全部包括了 之后图中加权的我也在代码中有所涉及 我们只要更一些参数就可以 基
  • 医学图像分辨率提高 FBPconvnet(Deep Convolutional Neural Network for Inverse Problems in Imaging 实现)

    这篇博客主要是实现论文 Deep Convolutional Neural Network for Inverse Problems in Imaging 这篇论文主要是用较少的回波信号对医学图像进行重建 用较多的回波信号进行医学图像重建
  • Source Insight 4.0 Monokai黑色主题

    比较喜欢Sublime text的Monokai主题 周末空闲时间在Source Insight上DIY一下 分享给大家 下载地址 https download csdn net download rockex 11712949 下载配置文
  • Windows server 2019搭建NFS服务器

    1 NFS服务端配置 安装服务 配置NFS共享文件夹 选择服务器和此共享的路径 选择我们创建的磁盘 创建共享名称 指定身份验证方法 设置共享权限 指定我要授权访问的主机 确认选择没有问题点击创建 可以看到我们刚才创建好的共享文件夹 2 NF
  • Linux-rpm命令-查看已安装软件包信息及未安装rpm包信息

    博文说明 前言 本文将通过个人口吻介绍rpm命令 包括查看已安装软件包信息及未安装rpm包信息 在目前时间点 2017年6月12号 下 所掌握的技术水平有限 可能会存在不少知识理解不够深入或全面 望大家指出问题共同交流 在后续工作及学习中如
  • 用Endnote在word中插入文献出现{Xu, 1997 #407}等样式的错误的解决方法如下

    1 将Instant Formatting 由Off设置为On 2 弹出的对话框 点击ignore all 参考 https blog csdn net coberup article details 82525988
  • oswatch

    作者 eygle English Version 转载时请以超链接形式标明文章 出处和作者信息及 本声明 链接 http www eygle com archives 2007 07 oracle os watcher html 站内相关文
  • Java虚拟机 -- 垃圾收集器

    介绍垃圾收集器之前先要了解三个知识点 Stop the World JVM由于要执行GC而停止应用程序的执行 任何一种GC算法中都会发生 多数GC优化通过减少Stop the world发生的时间来提高程序性能 Safepoint 安全点
  • 团队共创法成功实施的几个重点

    转自 http blog sina com cn s blog 503d1fff0101bmz3 html 团队共创法是参与的科技 Technology of Participation ToPTM 方法之一 创始於文化事业学会 Insti
  • FileInputStream(文件字节输入流)

    目录 FileInputStream 文件字节输入流 1 InputStream 常用的子类 2 FileInputStream介绍 2 1 构造方法摘要 2 2 方法摘要 2 3 应用实例 请使用FileInputStream读取 hel
  • 锐捷睿易无线网桥IP地址和WIFI密码

  • 交易信号有效性测算1——N日涨跌幅

    在交易信号发出后 我们需要一些程序化的流程 来验证信号的有效性 其中信号发出后N日的涨跌幅就是一个比较常见的任务 布林带交易策略 我们以布林带 BOLL 交易策略为示例 中轨线 N日移动平均线 上轨线 中轨线 k 标准差 下轨线 中轨线 k
  • C语言 指针的内容

    目录 一 指针与变量 指针的含义 1 1 指针类型和指针变量 二 指针操作 三 指针与数组 3 1 用指针标识整型数组 3 2 指针运算 3 2 3指针数组 3 3 3 字符串指针 四 字符串内容 4 1 单字符的输入输出 4 2 函数 4
  • [YOLO专题-2]:总体-YOLO目标检测的网络总体架构与核心概念

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122118894 目录 前言说明 第1
  • Sqli-labs——lesson11

    在11关是登录界面了 我们可以先用bp抓包来看它的post请求来再在Hackbar里面的post data里面对数据进行操作 1 在对uname的admin加上 后回显错误 说明此处存在注入漏洞 2 首先先在username中验证 用 or
  • matlab读.h5文件

    之前用 python 给 nuswide 提取了 VGG19 特征 因为文件太大 超过 mat 限制 存成 h5 见 1 现在一个 matlab 程序要读 可以用 h5disp 查看 h5 文件内容的结构 各个 datasets 然后用 h
  • DDK(Driver Developer Kit)和WDK(Windows Driver Kit)的区别

    首先 先从基础的东西说起 开发WINDOWS下的驱动程序 需要一个专门的开发包 如 开发JAVA程序 我们可能需要一个JDK 开发WINDOWS应用程序 我们需要WINDOWS的SDK 现在开发WINDOWS下的驱动程序 我们需要一个DDK
  • 个人兴趣项目汇总

    实时多人2d监测平台 deh传感器数据监控大屏 deh数字孪生 three js deh故障诊断软件系统 SAR故障诊断系统 自动化工厂展示大屏 Minest数据集数字检测平台 汇总在线展示链接
  • Java代码审计之命令执行漏洞

    进行代码审计时遇到一个比较典型命令执行漏洞 适合新手学习 给大家分享下整个过程 从代码中可以看出来程序只使用trim 方法对jdk进行了两遍的空格过滤 然后直接和后面拼接的命令一起执行 接着来找一下这个方法的调用链 可以看到这里依次调用了3