Apache_ActiveMQ漏洞-上
Apache ActiveMQ
简介
ActiveMQ 是一个开源的消息中间件,主要用于实现消息的异步传递和处理。它支持多种消息协议(如 JMS、AMQP 和 MQTT),使得不同的应用程序能够在不同的平台之间进行通信
主要特点
- 高性能:支持高吞吐量和低延迟的消息传递,适用于需要高并发的应用场景。
- 支持多种协议:除了 JMS,ActiveMQ 还支持多种协议,方便与其他系统集成。
- 可靠性:提供消息持久化功能,确保消息在系统故障时不会丢失。
- 可扩展性:可以根据需求水平扩展,适应不同规模的应用。
- 易于使用:提供丰富的管理工具和易于理解的配置文件,使得部署和管理相对简单。
- 集成能力:能够与 Spring、Apache Camel 等框架无缝集成,增强应用的灵活性。
应用场景
- 实时数据处理
- 微服务架构中的服务间通信
- 事件驱动架构
- 系统解耦合
Apache ActiveMQ漏洞
Apache ActiveMQ未授权
- 没有配置密码,直接访问/admin,可进入后台
Apache ActiveMQ默认口令
- 默认密码:admin/admin
ActiveMQ物理路径泄漏
- ActiveMQ默认开启了PUT请求,当开启PUT,且存在/filesever目录时,构造好Payload(一个可导致500错误的目录),Response会返回相应的物理路径信息!
当然因为版本或者修改了配置的原因,也可能无法得到物理路径
1 | PUT /fileserver/a../../%08/..%08/.%08/%08 |
1 | 500 /data/apache-activemq-5.7.0/webapps/fileserver//.././(No such file or directory) |
但是不要急,如果不存在/filesever目录,无法通过触发500报错获得物理路径的话,还可以直接访问**/admin/test/systemProperties.jsp**路径,运气好如果该环境测试界面没有被删除的话,会得到许多路径信息配置信息,物理路径也自然在其中:
ActiveMQ PUT任意文件上传
若服务器存在fileserver目录,则可以通过put请求写入文件,但fileserver下的文件默认不解析
1 | PUT /fileserver/shell.jsp |
如果put成功会返回214状态码
ActiveMQ任意文件文件移动
上面提到”但fileserver下的文件默认不解析”,那即使我们put了shell又有什么用呢,于是又利用这个ActiveMQ任意文件文件移动漏洞+ActiveMQ物理路径泄漏漏洞,把put的shell根据物理路径移动到可执行shell的网站根目录去
1 | MOVE /fileserver/shell.jsp |
如果move成功会返回214状态码
工具推荐
未完待续……
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 X1ly?S!
评论