安全矩阵

 找回密码
 立即注册
搜索
查看: 2172|回复: 0

越权跳转导致的flowable命令执行

[复制链接]

260

主题

275

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
发表于 2022-4-14 09:39:22 | 显示全部楼层 |阅读模式
本帖最后由 luozhenni 于 2022-4-14 09:39 编辑


越权跳转导致的flowable命令执行
yueryou  潇湘信安  2022-04-14 09:00
原文链接:越权跳转导致的flowable命令行
  声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
   请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。         

文章来源:先知社区(yueryou)
原文地址:https://xz.aliyun.com/t/11144


0x01 背景

项目中遇到的问题,进行记录。


0x02 过程

在目标系统测试一段时间没有收获过后发现一个叫做学习平台功能模块处发生跳转到8092端口上去。


后续观察数据包的时候发现,跳转形式是
  1. http://xxx.com:8092/login?username=xx&token=xxx
复制代码


抱着试一试的心态试了一下,将userName换成了admin,重新访问后,直接以管理员的身份进入这个系统的后台。


后续了解到之前有人挖到过这个洞,但是甲方不收,就准备简单看一下这边的功能。

绕了半天在一个流程模板的功能点发现使用了一款叫做flowable的工作流引擎。


然后看了一下,发现了一个叫做shell任务的模块。


试了一下,在里面写入命令,但好像没有地方可以让这个任务直接运行起来,后续去看了一下文档,也没有找到特别多的可利用信息。

找了一圈得shell任务是怎么写的。
  1. <serviceTask id="shellEcho" flowable:type="shell" >  
  2. <extensionElements>
  3.    <flowable:field name="command" stringValue="cmd" />
  4. <flowable:field name="arg1" stringValue="/c" />
  5.    <flowable:field name="arg2" stringValue="echo" />   
  6. <flowable:field name="arg3" stringValue="EchoTest" />
  7. <flowable:field name="arg4" stringValue=">" />
  8.    <flowable:field name="arg5" stringValue="D:\content\sec.txt" />
  9.    <flowable:field name="wait" stringValue="true" />
  10. <flowable:field name="outputVariable" stringValue="resultVar" />
  11. </extensionElements></serviceTask>
复制代码
这边是图形化界面,可以直接进行配置,如下(当时写的是echo一个txt文件,没有截图):


但还需要让shell任务运行,后续看到他已经配好了一个完整的流程,就在开始流程后插入了这个shell任务。


然后保存后通过另一个点将这个新的模板进行部署,到现有的功能中去,意味着我只要去发起这个流程就能触发我的shell命令。

部署:


发起对应的流程:


开始尝试的是写入了一个txt文件,成功


然后尝试写入jsp文件,访问直接下载,其他目录也不行,应该是jar包那种环境

由于系统是Windows,将命令改成powershell的指令


再次发起流程,ok



0x03 总结

误打误撞,如果上次甲方接受了越权跳转的漏洞,那么可能就遇不到这个功能点了,存在运气成分。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-3-29 15:22 , Processed in 0.014497 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表