https://www.hacefresko.com/posts/rce-on-solr-server-via-replication
总结
这篇文章详细介绍了作者通过利用 Solr 服务器的索引复制功能,最终在目标服务器上实现远程代码执行(RCE)的一种复杂且独特的方法。
摘要
文章开头提到,作者在参与与上一篇文章相同的漏洞赏金计划时,发现了这一漏洞,并指出尽管他是唯一成功实现 RCE 的人,这一漏洞被错误地归类为“重复”。该漏洞存在于一个视频游戏公司的 Solr 服务器中,该公司与黑客和其他安全研究人员的关系不佳。作者在这篇文章中省略了一些复杂的细节和兔子洞,以使文章更加简洁。
之后,作者回顾了发现该漏洞的过程。在前文中,他发现了几个 Solr 服务器漏洞,包括一个盲 SSRF(CVE-2021-27905)。几个月后,他决定深入研究这些漏洞,并重新审查了他之前发现的一个高危漏洞和一个严重漏洞。
作者详细分析了 SSRF 的工作原理,并通过阅读 Solr 的文档了解到索引复制的概念。他利用“fetchindex”命令在一个 Solr 服务器实例上触发了一次性复制。经过一系列测试和调整,他成功地从目标服务器复制了数据集。
接下来,作者尝试添加一个条目以验证他可以修改数据集,并在本地创建了一个 Solr 实例以进一步测试复制功能。他遇到了一些问题,但最终通过使用-Dsolr.disable.allowUrls=true
标志解决了它们。
之后,作者将注意力转向了如何将自定义配置文件传送到目标服务器。通过修改配置文件并使用“confFiles”参数,他成功地在目标服务器上修改了配置文件,进而实现了对目标服务器配置的控制。
作者在尝试多种方法后,最终使用 Velocity 模板和重新编译的 Velocity .jar 文件成功在目标服务器上实现了 RCE。他通过复制修改后的数据集和配置文件,最终在目标服务器上执行了任意代码。
尽管作者向漏洞赏金计划报告了这个漏洞,但它被视为重复报告,只者只获得了部分奖励。作者对此感到失望,但他选择与社区分享这个复杂且独特的发现,并提醒大家不要破解劣质程序。
观点
- 通过详细的漏洞挖掘和利用,作者表明即使在认为安全的系统中,也可能存在未知的漏洞和安全风险。
- 文章强调了深入研究和理解漏洞的重要性,以及创造性思维在信息安全领域中的应用。
- 作者提出了对于漏洞赏金计划的批评,认为不应该将发现的漏洞轻易归类为“重复”,而应该公正地评估和奖励贡献。
- 文章提醒了安全研究人员和黑客,要意识到自己的价值,在提交发现的漏洞之前要仔细考虑。