[11525] 2017-07-03_WolfCMS新旧两个版本中的文件上传漏洞分析

文档创建者:s7ckTeam
浏览次数:7
最后更新:2025-01-18
2017-07-03_WolfCMS新旧两个版本中的文件上传漏洞分析 W o l f   C M S   n a v y o f f i c e r   F r e e B u f   2 0 1 7 - 0 7 - 0 3 W o l f c m s W o l f   C M S C M S G N U G e n e r a l   P u b l i c   L i c e n s e   v 3 W o l f C M S P H P F r o g   C M S 2 0 1 0 P a c k e t   P u b l i s h i n g M o s t P r o m i s i n g   O p e n   S o u r c e   P r o j e c t h t t p s : / / w w w . w o l f c m s . o r g / W o l f c m s   0 . 8 . 2 2 . 1   W o l f   C M S   0 . 8 . 2 2 0 1 5 4 W o l f   C M S P H P P H P   s h e l l 2 . 2   W o l f   C M S   0 . 8 . 2 F i l e s U p l o a d   f i l e m a 2 . p h p
w e b s h e l l w e b s h e l l
2 . 3   / w o l f / p l u g i n s / f i l e _ m a n a g e r / F i l e M a n a g e r C o n t r o l l e r . p h p 3 0 2 3 3 9 u p l o a d ( )
p l u g i n / f i l e _ m a n a g e r / b r o w s e / C S R F t o k e n C S R F c s r f _ t o k e n P O S T $ c s r f _ t o k e n S e c u r e T o k e n : : v a l i d a t e T o k e n t o k e n p l u g i n / f i l e _ m a n a g e r / b r o w s e / P O S T t o k e n . . a z 0 9 线 线 i f   ( ! A u t h U s e r : : h a s P e r m i s s i o n ( ' f i l e _ m a n a g e r _ u p l o a d ' ) )   {         F l a s h : : s e t ( ' e r r o r ' ,   _ _ ( ' Y o u   d o   n o t   h a v e   s u f f i c i e n t   p e r m i s s i o n s   t o   u p l o a d   a   f i l e . ' ) ) ;         r e d i r e c t ( g e t _ u r l ( ' p l u g i n / f i l e _ m a n a g e r / b r o w s e / ' ) ) ; } i f   ( i s s e t ( $ _ P O S T [ ' c s r f _ t o k e n ' ] ) )   {       $ c s r f _ t o k e n   =   $ _ P O S T [ ' c s r f _ t o k e n ' ] ;       i f   ( ! S e c u r e T o k e n : : v a l i d a t e T o k e n ( $ c s r f _ t o k e n ,   B A S E _ U R L . ' p l u g i n / f i l e _ m a n a g e r / u p l o a d ' ) )   {               F l a s h : : s e t ( ' e r r o r ' ,   _ _ ( ' I n v a l i d   C S R F   t o k e n   f o u n d ! ' ) ) ;               r e d i r e c t ( g e t _ u r l ( ' p l u g i n / f i l e _ m a n a g e r / b r o w s e / ' ) ) ;       } } e l s e   {       F l a s h : : s e t ( ' e r r o r ' ,   _ _ ( ' N o   C S R F   t o k e n   f o u n d ! ' ) ) ;       r e d i r e c t ( g e t _ u r l ( ' p l u g i n / f i l e _ m a n a g e r / b r o w s e / ' ) ) ; } $ d a t a   =   $ _ P O S T [ ' u p l o a d ' ] ; $ p a t h   =   s t r _ r e p l a c e ( ' . . ' ,   ' ' ,   $ d a t a [ ' p a t h ' ] ) ; $ o v e r w r i t e   =   i s s e t ( $ d a t a [ ' o v e r w r i t e ' ] )   ?   t r u e   :   f a l s e ; $ f i l e n a m e   =   p r e g _ r e p l a c e ( ' /   / ' ,   ' _ ' ,   $ _ F I L E S [ ' u p l o a d _ f i l e ' ] [ ' n a m e ' ] ) ; $ f i l e n a m e   =   p r e g _ r e p l a c e ( ' / [ ^ a - z 0 - 9 _ - . ] / i ' ,   ' ' ,   $ f i l e n a m e ) ;
u p l o a d _ f i l e w e b s h e l l W o l f c m s   0 . 8 . 3 . 1 3 . 1   W o l f   C M S   0 . 8 . 3 . 1 W e b W o l f   C M S   0 . 8 . 2 W o l f   C M S 0 . 8 . 3 . 1 3 . 2   W o l f   C M S   0 . 8 . 2 F i l e s U p l o a d   f i l e u b u n t u w e b s h e l l m a 2 . p h p . w i n d o w s i f   ( i s s e t ( $ _ F I L E S ) )   {       $ f i l e   =   $ t h i s - > _ u p l o a d _ f i l e ( $ f i l e n a m e ,   F I L E S _ D I R   .   ' / '   .   $ p a t h   .   ' / ' ,   $ _ F I L E S [ ' u p l o a d _ f i l e ' ] [ ' t m p _ n a m e ' ] ,   $ o v e r w r i t e ) ;       i f   ( $ f i l e   = = =   f a l s e )               F l a s h : : s e t ( ' e r r o r ' ,   _ _ ( ' F i l e   h a s   n o t   b e e n   u p l o a d e d ! ' ) ) ; }
w i n d o w s w e b s h e l l
2 . 3   / w o l f / p l u g i n s / f i l e _ m a n a g e r / F i l e M a n a g e r C o n t r o l l e r . p h p 3 1 0 3 5 4 u p l o a d ( )
0 . 8 . 2 3 4 0 3 4 5 p l u g i n / f i l e _ m a n a g e r / b r o w s e / m a 2 . p h p . w i n d o w s 1 . 2 . 3 . 使 4 . * n a v y o f f i c e r F r e e B u f . C O M   $ e x t   =   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 ) ) ;   $ e x t _ a r r   =   a r r a y ( ' p h p ' ,   ' p h p 3 ' ,   ' p h p 4 ' ,   ' i n c ' ) ;   i f   ( i n _ a r r a y ( $ e x t ,   $ e x t _ a r r ) )   {         F l a s h : : s e t ( ' e r r o r ' ,   _ _ ( ' N o t   a l l o w e d   t o   u p l o a d   f i l e s   w i t h   e x t e n s i o n   : e x t ' ,   $ e x t ) ) ;         r e d i r e c t ( g e t _ u r l ( ' p l u g i n / f i l e _ m a n a g e r / b r o w s e / ' ) ) ;   }

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

本版积分规则