[28330] 2020-06-04_ApacheHTTP组件提权漏洞利用深度分析

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-19
2020-06-04_ApacheHTTP组件提权漏洞利用深度分析 A p a c h e   H T T P   O t s   2 0 2 0 - 0 6 - 0 4 A p a c h e   H T T P   C V E - 2 0 1 9 - 0 2 1 1 W r i t e U p E X P E X P E X P P H P   U A F a l l _ b u c k e t s [ b u c k e t ] S H M a p r _ p r o c _ m u t e x _ t z e n d _ a r r a y p r e f o r k _ c h i l d _ b u c k e t z e n d _ o b j e c t W r i t e U p A p a c h e M P M   p r e f o r k r o o t w o r k e r H T T P w o r k e r S H M 1 . A p a c h e   h t t p d g r a c e f u l h t t p d w o r k e r w o r k e r p r e f o r k _ r u n ( ) w o r k e r 2 . m a k e _ c h i l d ( ) 使 a p _ g e t _ s c o r e b o a r d _ p r o c e s s ( c h i l d _ s l o t ) - > b u c k e t m a k e _ c h i l d ( ) b u c k e t a l l _ b u c k e t s m y _ b u c k e t 3 . c h i l d _ m a i n ( ) A p a c h e S A F E _ A C C E P T ( < c o d e > ) < c o d e > a p r _ p r o c _ m u t e x _ c h i l d _ i n i t ( )
4 . ( * m u t e x ) - > m e t h - > c h i l d _ i n i t ( m u t e x ,   p o o l ,   f n a m e ) : p r e f o r k _ c h i l d _ b u c k e t a l l _ b u c k e t s a l l _ b u c k e t s b u c k e t m y _ b u c k e t m y _ b u c k e t - > m u t e x - > m e t h - > c h i l d _ i n i t ( m u t e x ,   p o o l ,   f n a m e ) m e t h c h i l d _ i n i t r o o t W r i t e U p e x p e x p 1 .   P H P w o r k e r / p r o c / s e l f / m a p s 2 .   / p r o c / * / c m d l i n e / p r o c / * / s t a t u s w o r k e r P I D 3 .   P H P U A F w o r k e r / S H M 4 .   A p a c h e a l l _ b u c k e t s 5 .   a l l _ b u c k e t s b u c k e t a l l _ b u c k e t s [ b u c k e t ] p r e f o r k _ c h i l d _ b u c k e t 6 .   S H M p a y l o a d 7 .   p a y l o a d S H M 5 a l l _ b u c k e t s [ b u c k e t ] p a y l o a d 8 .   p r o c e s s _ s c o r e - > b u c k e t 5 b u c k e t S H M p r o c e s s _ s c o r e w o r k e r p r o c e s s _ s c o r e - > p i d 2 P I D p r o c e s s _ s c o r e w o r k e r p r o c e s s _ s c o r e - > b u c k e t 9 .   A p a c h e 6 : 2 5
2 . 1   e x p g e t _ a l l _ a d d r e s s e s ( ) g e t _ w o r k e r s _ p i d s ( ) w o r k e r P I D $ a d d r e s s e s $ w o r k e r _ p i d s 便 使 e x p s h m a p a c h e s h m e x p m a p s i f   ( $ m s i z e   > =   0 x 1 0 0 0 0   & &   $ m s i z e   < =   0 x 1 6 0 0 0 ) r e a l ( ) P H P U A F Z j s o n S e r i a l i z e ( ) j s o n _ e n c o d e ( ) j s o n S e r i a l i z e ( ) E X P j s o n S e r i a l i z e ( ) 2 . 2   P H P U A F S H M P H P U A F 1 .   Z $ t h i s - > a b c P H P 使 z e n d _ s t r i n g C m a l l o c
2 .   u n s e t ( $ y [ 0 ] ) Z f r e e 3 .   使 D a t e I n t e r v a l P H P D a t e I n t e r v a l t i m e l i b _ r e l _ t i m e z e n d _ s t r i n g D a t e I n t e r v a l 4 .   $ t h i s - > a b c D a t e I n t e r v a l $ t h i s - > a b c P H P z e n d _ s t r i n g l e n D a t e I n t e r v a l l e n t h i s - > a b c S H M 2 . 2 . 1   / D a t e I n t e r v a l 2 . 2 . 2   U A F Z P H P L I F O U A F p t r 2 s t r 7 8 z e n d _ s t r i n g 7 8 2 . 2 . 3   U A F $ t h i s - > a b c z e n d _ s t r i n g U A F $ p $ t h i s - > a b c P H P D a t e I n t e r v a l t i m e l i b _ r e l _ t i m e
7 8 7 8 z e n d _ s t r i n g 便 P H P P H P 2 . 2 . 4   U A F u n s e t $ y [ 0 ] $ p u n s e t $ p D a t e I n t e r v a l t i m e l i b _ r e l _ t i m e $ p r o t e c t o r P H P L I F O t i m e l i b _ r e l _ t i m e D a t e I n t e r v a l t i m e l i b _ r e l _ t i m e f r e e $ t h i s - > a b c 访 f r e e & t i m e l i b _ r e l _ t i m e   = =   & z e n d _ s t r i n g D a t e I n t e r v a l z e n d _ s t r i n g . l e n / U A F D a t e I n t e r v a l & t i m e l i b _ r e l _ t i m e   = =   & z e n d _ s t r i n g $ d $ y z e n d _ s t r i n g l e n v a l $ x D a t e I n t e r v a l h 0 × 1 3 1 2 1 1 1 0 $ t h i s - > a b c z e n d _ s t r i n g 访 U A F
$ r o o m 使 2 . 2 . 5   U A F P H P S H M z e n d _ s t r i n g . v a l z e n d _ s t r i n g . l e n l e n S H M S H M a b c l e n $ t h i s - > a b c a l l _ b u c k e t a p a c h e l e n S H M a p a c h e W r i t e U p S H M a p a c h e P H P P H P S H M a p a c h e a b c D a t e I n t e r v a l d z e n d _ s t r i n g . l e n z e n d _ s t r i n g $ t h i s - > a b c l e n S H M A p a c h e 2 . 3   a l l _ b u c k e t s a l l _ b u c k e t s w r i t e u p m u t e x a l l _ b u c k e t s 0 × 1 0 m e t h m u t e x 0 × 8 a l l _ b u c k e t s a p a c h e a l l _ b u c k e t s [ i d x ] - > m u t e x m e t h l i b a p r . s o . d a t a m e t h l i b a p r . s o
. t e x t a l l _ b u c k e t s [ ] 便 m e t h 6 ( * c h i l d _ i n i t ) ( ) m e t h 2 . 4   b u c k e t s S H M p a y l o a d   p r e f o r k _ c h i l d _ b u c k e t S H M p a y l o a d p a y l o a d   & a l l _ b u c k e t s [ b u c k e t ] m e t h p a y l o a d   p a y l o a d c h i l d _ i n i t & a l l _ b u c k e t s [ b u c k e t ] p r e f o r k _ c h i l d _ b u c k e t a l l _ b u c k e t s a l l _ b u c k e t s E X P a l l _ b u c k e t s p r e f o r k _ c h i l d _ b u c k e t
S H M p a y l o a d & a l l _ b u c k e t s [ b u c k e t ] p a y l o a d E X P 使 1 . S H M 2 . w o r k e r p r o c e s s _ s c o r e - > b u c k e t A p a c h e   W o r k e r e x p $ w o r k e r s _ p i d s   =   g e t _ w o r k e r s _ p i d s ( ) ; S H M a p a c h e 使 S H M $ s p r a y _ m a x 使 $ s p r a y _ s i z e $ s p r a y _ s i z e 使 使 w o r k e r _ s c o r e a l l _ b u c k e t s p r e f o r k _ c h i l d _ b u c k e t a l l _ b u c k e t s S H M a l l _ b u c k e t s $ b u c k e t _ i n d e x _ m i d d l e 便 a l l _ b u c k e t s & a l l _ b u c k e t s [ b u c k e t ] $ s p r a y _ m i d d l e   2 . 5   p a y l o a d S H M P a y l o a d 1 . b u c k e t p a y l o a d 2 . m e t h a p r _ p r o c _ m u t e x _ u n i x _ l o c k _ m e t h o d s _ t c h i l d _ i n i t z e n d _ o b j e c t _ s t d _ d t o r 3 . p r o p e r t i e s P H P z e n d _ o b j e c t c h i l d _ i n i t z e n d _ o b j e c t _ s t d _ d t o r z e n d _ o b j e c t c h i l d _ i n i t & m y _ b u c k e t - > m u t e x p r e f o r k _ c h i l d _ b u c k e t z e n d _ o b j e c t z e n d _ o b j e c t _ s t d _ d t o r
p r o p e r t i e s z e n d _ a r r a y a r D a t a p D e s t r u c t o r & h t - > a r D a t a [ 0 ] - > v a l p D e s t r u c t o r ( ) s y s t e m e x p b u c k e t c h m o d   + s   / u s r / b i n / p y t h o n 3 . 5 1 5 2 m e t h c h i l d _ i n i t z e n d _ o b j e c t _ s t d _ d t o r c h i l d _ i n i t p r o p e r t i e s z e n d _ a r r a y a p r _ p r o c _ m u t e x _ t u - n T a b l e M a s k a p r _ p r o c _ m u t e x _ t m e t h a r D a t a p a y l o a d b u c k e t
U A F a b c S H M 使 S H M p r o p e r t i e s   2 . 6   w o r k e r p r o c e s s _ s c o r e - > b u c k e t A p a c h e   W o r k e r 2 . 4 b u c k e t S H M w o r k e r & a l l _ b u c k e t s [ b u c k e t ] S H M p r o c e s s _ s c o r e P I D P I D $ w o r k e r s _ p i d s P I D
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则