最新消息:图 床

Attack Spring Boot Actuator via jolokia Part 2

COOL IAM 435浏览 0评论

作者:Lucifaer
博客:https://www.lucifaer.com

本文接上文,這裡不會分析原文章中所說的/env這種利用的方法,而是說一下rr大佬的發現的另外一條利用鏈。

0x01 檢查MBean

如果說不存在ch.qos.logback.classic reloadByURL這個MBean,還能不能造成RCE呢,這個是我在看完文章后的一個想法。如果說想要解決這個問題,我們需要再看看/jolokia/list中還有哪些利用鏈可用(真的是太多了T T,由於當時看完記得是在Spring Boot中內嵌的Tomcat中,所以直接看的這個類,然而這個類差點也看跪了T T)。

最終找到org.apache.catalina.mbeans.MBeanFactory這個可能能造成JNDI注入的類,其中有以下這麼幾個方法從註釋的描述中感覺是可以造成JNDI注入的:

  • createUserDatabaseRealm
  • createDataSourceRealm
  • createJNDIRealm

這幾點中只有最後的createJNDIRealm是可用的,但是他們前面的處理流程都是一樣的,接下來就將他們前面的處理流程簡單的分析一下,並說明為什麼只有createJNDIRealm是可用的。

0x02 Realm創建流程分析

Realm是一個MVCC數據庫,而MVCC是用於解決多版本併發問題的一個方法。有關Realm的一些具體介紹可以參考這篇文章。而我自己的理解是就是它給每一個連接的線程建立了一個“快照”,當兩個請求同時到達一個線程時,程序不會造成阻塞,而是會在這個“快照”(也是一個線程)中進行操作,當執行完成後,阻塞合併更改(有點像git):

转载请注明:IAMCOOL » Attack Spring Boot Actuator via jolokia Part 2

0 0 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x