项目中遇到的问题,进行记录。
后续观察数据包的时候发现,跳转形式是
http://xxx.com:8092/login?username=xx&token=xxx
抱着试一试的心态试了一下,将userName换成了admin,重新访问后,直接以管理员的身份进入这个系统的后台。
后续了解到之前有人挖到过这个洞,但是甲方不收,就准备简单看一下这边的功能。
绕了半天在一个流程模板的功能点发现使用了一款叫做flowable的工作流引擎。
然后看了一下,发现了一个叫做shell任务的模块。
试了一下,在里面写入命令,但好像没有地方可以让这个任务直接运行起来,后续去看了一下文档,也没有找到特别多的可利用信息。
找了一圈得shell任务是怎么写的。
<serviceTask id="shellEcho" flowable:type="shell" >
<extensionElements>
<flowable:field name="command" stringValue="cmd" />
<flowable:field name="arg1" stringValue="/c" />
<flowable:field name="arg2" stringValue="echo" />
<flowable:field name="arg3" stringValue="EchoTest" />
<flowable:field name="arg4" stringValue=">" />
<flowable:field name="arg5" stringValue="D:\content\sec.txt" />
<flowable:field name="wait" stringValue="true" />
<flowable:field name="outputVariable" stringValue="resultVar" />
</extensionElements></serviceTask>
这边是图形化界面,可以直接进行配置,如下(当时写的是echo一个txt文件,没有截图):
但还需要让shell任务运行,后续看到他已经配好了一个完整的流程,就在开始流程后插入了这个shell任务。
然后保存后通过另一个点将这个新的模板进行部署,到现有的功能中去,意味着我只要去发起这个流程就能触发我的shell命令。
部署:
发起对应的流程:
开始尝试的是写入了一个txt文件,成功
然后尝试写入jsp文件,访问直接下载,其他目录也不行,应该是jar包那种环境
由于系统是Windows,将命令改成powershell的指令
再次发起流程,ok
误打误撞,如果上次甲方接受了越权跳转的漏洞,那么可能就遇不到这个功能点了,存在运气成分。
作者:yueryou
原文地址:https://xz.aliyun.com/t/11144
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
多一个点在看多一条小鱼干