[14680] 2019-10-09_使用Burp拦截FlutterApp与其后端的通信

文档创建者:s7ckTeam
浏览次数:8
最后更新:2025-01-18
2019-10-09_使用Burp拦截FlutterApp与其后端的通信 使 B u r p F l u t t e r   A p p s e c i s t   F r e e B u f   2 0 1 9 - 1 0 - 0 9 F l u t t e r U I i O S A n d r o i d F l u t t e r D a r t G o o g l e 7 B u r p F l u t t e r T L ; D R F l u t t e r 使 D a r t 使 C A D a r t 使 C A D a r t A n d r o i d 使 i p t a b l e s P r o x y D r o i d H o o k   x 5 0 9 . c c s e s s i o n _ v e r i f y _ c e r t _ c h a i n c h a i n   v a l i d a t i o n 使 f l u t t e r f l u t t e r H t t p C l i e n t U R L 使 f l u t t e r   b u i l d   a o t a d b   i n s t a l l c l a s s   _ M y H o m e P a g e S t a t e   e x t e n d s   S t a t e < M y H o m e P a g e & g t ;   {     i n t   _ c o u n t e r   =   0 ;     H t t p C l i e n t   c l i e n t ;     _ M y H o m e P a g e S t a t e ( )     {             _ s t a r t ( ) ;     }     v o i d   _ s t a r t ( )   a s y n c {         c l i e n t   =   H t t p C l i e n t ( ) ;     }     v o i d   _ i n c r e m e n t C o u n t e r ( )   {         s e t S t a t e ( ( )   {             i f ( c l i e n t   ! =   n u l l )             {                     c l i e n t                             . g e t U r l ( U r i . p a r s e ( ' h t t p : / / w w w . n v i s o . e u ' ) )   / /   p r o d u c e s   a   r e q u e s t   o b j e c t                             . t h e n ( ( r e q u e s t )   = & g t ;   r e q u e s t . c l o s e ( ) )   / /   s e n d s   t h e   r e q u e s t                             . t h e n ( ( r e s p o n s e )   = & g t ;   p r i n t ( " S U C C E S S   -   "   +   r e s p o n s e . h e a d e r s . v a l u e ( " d a t e " ) ) ) ;                     _ c o u n t e r + + ;               }         } ) ;     }
h t t p : / / w w w . n v i s o . e u M a g i s k - F r i d a - S e r v e r F r i d a B u r p M a g i s k T r u s t U s e r C e r t s C A B u r p 使   P r o x y D r o i d / i p t a b l e s   H t t p C l i e n t f i n d P r o x y U R L H T T P 使 -   f i n d P r o x y H t t p C l i e n t . f i n d P r o x y F r o m E n v i r o n m e n t h t t p _ p r o x y h t t p s _ p r o x y 使 A n d r o i d z y g o t e f i n d P r o x y H T T P i p t a b l e s   f a l l b a c k r o o t P r o x y D r o i d H T T P B u r p c l i e n t . f i n d P r o x y   =   ( u r i )   {                         r e t u r n   " P R O X Y   1 0 . 1 5 3 . 1 0 3 . 2 2 2 : 8 8 8 8 " ;           } ;
  H T T P S   U R L H T T P S B u r p   S S L B u r p G i t H u b   i s s u e W i n d o w s A n d r o i d :   D a r t 使 M o z i l l a N S S K e y s t o r e C A C A S S L l i b f l u t t e r . s o h o o k D a r t 使 G o o g l e B o r i n g S S L S S L D a r t B o r i n g S S L B u r p H T T P S F l u t t e r B o r i n g S S L h a n d s h a k e . c c : 3 5 2 H a n d s h a k e . c c B o r i n g S S L 3 5 2 s s l _ v e r i f y _ p e e r _ c e r t s s l _ v e r i f y _ r e s u l t _ t 2 2 9 0 s s l . h s s l _ v e r i f y _ p e e r _ c e r t s s l _ v e r i f y _ o k   ( = 0 ) F r i d a s s l _ s e n d _ a l e r t ( ) h o o k h a n d s h a k e . c c s e s s i o n _ v e r i f y _ c e r t _ c h a i n 3 6 2 s s l _ x 5 0 9 . c c h o o k O P E N S S L _ P U T _ E R R O R s s l _ v e r i f y _ p e e r _ c e r t O P E N S S L _ P U T _ E R R O R e r r . h 4 1 8 F l u t t e r   E / f l u t t e r   ( 1 0 3 7 1 ) :   [ E R R O R : f l u t t e r / r u n t i m e / d a r t _ i s o l a t e . c c ( 8 0 5 ) ]   U n h a n d l e d   e x c e p t i o n :   E / f l u t t e r   ( 1 0 3 7 1 ) :   H a n d s h a k e E x c e p t i o n :   H a n d s h a k e   e r r o r   i n   c l i e n t   ( O S   E r r o r :     E / f l u t t e r   ( 1 0 3 7 1 ) :     N O _ S T A R T _ L I N E ( p e m _ l i b . c : 6 3 1 )   E / f l u t t e r   ( 1 0 3 7 1 ) :     P E M   r o u t i n e s ( b y _ f i l e . c : 1 4 6 )   E / f l u t t e r   ( 1 0 3 7 1 ) :     N O _ S T A R T _ L I N E ( p e m _ l i b . c : 6 3 1 )   E / f l u t t e r   ( 1 0 3 7 1 ) :     P E M   r o u t i n e s ( b y _ f i l e . c : 1 4 6 )   E / f l u t t e r   ( 1 0 3 7 1 ) :     C E R T I F I C A T E _ V E R I F Y _ F A I L E D :   s e l f   s i g n e d   c e r t i f i c a t e   i n   c e r t i f i c a t e   c h a i n ( h a n d s h a k e . c c : 3 5 2 ) )   E / f l u t t e r   ( 1 0 3 7 1 ) :   # 0             _ r o o t H a n d l e U n c a u g h t E r r o r .   ( d a r t : a s y n c / z o n e . d a r t : 1 1 1 2 : 2 9 )   E / f l u t t e r   ( 1 0 3 7 1 ) :   # 1             _ m i c r o t a s k L o o p   ( d a r t : a s y n c / s c h e d u l e _ m i c r o t a s k . d a r t : 4 1 : 2 1 )   E / f l u t t e r   ( 1 0 3 7 1 ) :   # 2             _ s t a r t M i c r o t a s k L o o p   ( d a r t : a s y n c / s c h e d u l e _ m i c r o t a s k . d a r t : 5 0 : 5 )   E / f l u t t e r   ( 1 0 3 7 1 ) :   # 3             _ r u n P e n d i n g I m m e d i a t e C a l l b a c k   ( d a r t : i s o l a t e - p a t c h / i s o l a t e _ p a t c h . d a r t : 1 1 6 : 1 3 )   E / f l u t t e r   ( 1 0 3 7 1 ) :   # 4             _ R a w R e c e i v e P o r t I m p l . _ h a n d l e M e s s a g e   ( d a r t : i s o l a t e - p a t c h / i s o l a t e _ p a t c h . d a r t : 1 7 3 : 5 ) i f   ( r e t   = =   s s l _ v e r i f y _ i n v a l i d )   {         O P E N S S L _ P U T _ E R R O R ( S S L ,   S S L _ R _ C E R T I F I C A T E _ V E R I F Y _ F A I L E D ) ;         s s l _ s e n d _ a l e r t ( s s l ,   S S L 3 _ A L _ F A T A L ,   a l e r t ) ;     } e n u m   s s l _ v e r i f y _ r e s u l t _ t   B O R I N G S S L _ E N U M _ I N T   {     s s l _ v e r i f y _ o k ,     s s l _ v e r i f y _ i n v a l i d ,     s s l _ v e r i f y _ r e t r y , } ; r e t   =   s s l - > c t x - > x 5 0 9 _ m e t h o d - > s e s s i o n _ v e r i f y _ c e r t _ c h a i n (                             h s - > n e w _ s e s s i o n . g e t ( ) ,   h s ,   & a l e r t )                             ?   s s l _ v e r i f y _ o k                             :   s s l _ v e r i f y _ i n v a l i d ; # d e f i n e   O P E N S S L _ P U T _ E R R O R ( l i b r a r y ,   r e a s o n )       E R R _ p u t _ e r r o r ( E R R _ L I B _ # # l i b r a r y ,   0 ,   r e a s o n ,   _ _ F I L E _ _ ,   _ _ L I N E _ _ )
h o o k l i b f l u t t e r . s o s e s s i o n _ v e r i f y _ c e r t _ c h a i n O P E N S S L _ P U T _ E R R O R 使 G h i d r a G h i d r a 使 S e a r c h   - >   F i n d   S t r i n g s x 5 0 9 . c c 4 X R E F s e s s i o n _ v e r i f y _ c e r t _ c h a i n 2 1 u n d e f i n e d O P E N S S L _ P U T _ E R R O R F U N _ 0 0 3 1 6 5 0 0 l i b f l u t t e r . s o F U N _ 0 0 3 4 b 3 3 0 h o o k 1 0 h o o k 使 使 使 F r i d a l i b f l u t t e r . s o F l u t t e r 使 I n t e r c e p t o r 1   ( t r u e ) v a r   m   =   P r o c e s s . f i n d M o d u l e B y N a m e ( " l i b f l u t t e r . s o " ) ;   v a r   p a t t e r n   =   " 2 d   e 9   f 0   4 f   a 3   b 0   8 2   4 6   5 0   2 0   1 0   7 0 " v a r   r e s   =   M e m o r y . s c a n ( m . b a s e ,   m . s i z e ,   p a t t e r n ,   {     o n M a t c h :   f u n c t i o n ( a d d r e s s ,   s i z e ) {             c o n s o l e . l o g ( ' [ + ]   s s l _ v e r i f y _ r e s u l t   f o u n d   a t :   '   +   a d d r e s s . t o S t r i n g ( ) ) ;             } ,       o n E r r o r :   f u n c t i o n ( r e a s o n ) {             c o n s o l e . l o g ( ' [ ! ]   T h e r e   w a s   a n   e r r o r   s c a n n i n g   m e m o r y ' ) ;         } ,         o n C o m p l e t e :   f u n c t i o n ( ) {             c o n s o l e . l o g ( " A l l   d o n e " )         }     } ) ; ( e n v )   ~ / D / T e m p   »   f r i d a   - U   - f   b e . n v i s o . f l u t t e r _ a p p   - l   f r i d a . j s   - - n o - p a u s e [ L G E   N e x u s   5 : : b e . n v i s o . f l u t t e r _ a p p ] - >   [ + ]   s s l _ v e r i f y _ r e s u l t   f o u n d   a t :   0 x 9 a 7 f 7 0 4 0 A l l   d o n e f u n c t i o n   h o o k _ s s l _ v e r i f y _ r e s u l t ( a d d r e s s ) {     I n t e r c e p t o r . a t t a c h ( a d d r e s s ,   {         o n E n t e r :   f u n c t i o n ( a r g s )   {             c o n s o l e . l o g ( " D i s a b l i n g   S S L   v a l i d a t i o n " )         } ,
p r o x y d r o i d 使 H T T P F l u t t e r B o r i n g S S L   S S L   P i n n i n g S e c u r i t y C o n t e x t S S L   P i n n i n g S e c u r i t y C o n t e x t B u r p S e c u r i t y C o n t e x t w i t h T r u s t e d R o o t s f a l s e B u r p n v i s o . e u F r i d a r o o t - c a - p i n n i n g B o r i n g S S L   S S L   P i n n i n g s s l _ p i n n i n g _ p l u g i n F l u t t e r s s l   p i n n i n g   s s l _ p i n n i n g _ p l u g i n   f l u t t e r H T T P S n o n -         } ,         o n L e a v e :   f u n c t i o n ( r e t v a l ) {             c o n s o l e . l o g ( " R e t v a l :   "   +   r e t v a l )             r e t v a l . r e p l a c e ( 0 x 1 ) ;         }     } ) ; } f u n c t i o n   d i s a b l e P i n n i n g ( ) {   v a r   m   =   P r o c e s s . f i n d M o d u l e B y N a m e ( " l i b f l u t t e r . s o " ) ;     v a r   p a t t e r n   =   " 2 d   e 9   f 0   4 f   a 3   b 0   8 2   4 6   5 0   2 0   1 0   7 0 "   v a r   r e s   =   M e m o r y . s c a n ( m . b a s e ,   m . s i z e ,   p a t t e r n ,   {     o n M a t c h :   f u n c t i o n ( a d d r e s s ,   s i z e ) {             c o n s o l e . l o g ( ' [ + ]   s s l _ v e r i f y _ r e s u l t   f o u n d   a t :   '   +   a d d r e s s . t o S t r i n g ( ) ) ;             / /   A d d   0 x 0 1   b e c a u s e   i t ' s   a   T H U M B   f u n c t i o n             / /   O t h e r w i s e ,   w e   w o u l d   g e t   ' E r r o r :   u n a b l e   t o   i n t e r c e p t   f u n c t i o n   a t   0 x 9 9 0 6 f 8 a c ;   p l e a s e   f i l e   a   b u g '             h o o k _ s s l _ v e r i f y _ r e s u l t ( a d d r e s s . a d d ( 0 x 0 1 ) ) ;         } ,       o n E r r o r :   f u n c t i o n ( r e a s o n ) {             c o n s o l e . l o g ( ' [ ! ]   T h e r e   w a s   a n   e r r o r   s c a n n i n g   m e m o r y ' ) ;         } ,         o n C o m p l e t e :   f u n c t i o n ( ) {             c o n s o l e . l o g ( " A l l   d o n e " )         }     } ) ; } s e t T i m e o u t ( d i s a b l e P i n n i n g ,   1 0 0 0 ) B y t e D a t a   d a t a   =   a w a i t   r o o t B u n d l e . l o a d ( ' c e r t s / b u r p . c r t ' ) ;         S e c u r i t y C o n t e x t   c o n t e x t   =   n e w   S e c u r i t y C o n t e x t ( ) ;         c o n t e x t . s e t T r u s t e d C e r t i f i c a t e s B y t e s ( d a t a . b u f f e r . a s U i n t 8 L i s t ( ) ) ;         c l i e n t   =   H t t p C l i e n t ( c o n t e x t :   c o n t e x t ) ;
p i n n e d   H T T P S J a v a 使 F r i d a h o o k D a r t B o r i n g S S L 使 s s l f u n c t i o n   p r o l o g u e B o r i n g S S L * n v i s o F B s e c i s t F r e e B u f . C O M v o i d   t e s t P i n ( )   a s y n c     {         L i s t < S t r i n g & g t ;   h a s h e s   =   n e w   L i s t < S t r i n g & g t ; ( ) ;         h a s h e s . a d d ( " r a n d o m h a s h " ) ;         t r y         {             a w a i t   S s l P i n n i n g P l u g i n . c h e c k ( s e r v e r U R L :   " h t t p s : / / w w w . n v i s o . e u " ,   h e a d e r H t t p   :   n e w   M a p ( ) ,   s h a :   S H A . S H A 1 ,   a l l o w e d S H A F i n g e r p r i n t s :   h a s h e s ,   t i m e o u t   :   5 0 ) ;             d o I m p o r t a n S t u f f ( )         } c a t c h ( e )         {             a b o r t W i t h E r r o r ( e ) ;         }     } f u n c t i o n   d i s a b l e P i n n i n g ( ) {         v a r   S s l P i n n i n g P l u g i n   =   J a v a . u s e ( " c o m . m a c i f . p l u g i n . s s l p i n n i n g p l u g i n . S s l P i n n i n g P l u g i n " ) ;         S s l P i n n i n g P l u g i n . c h e c k C o n n e x i o n . i m p l e m e n t a t i o n   =   f u n c t i o n ( ) {                 c o n s o l e . l o g ( " D i s a b l e d   S s l P i n n i n g P l u g i n " ) ;                 r e t u r n   t r u e ;         } } J a v a . p e r f o r m ( d i s a b l e P i n n i n g )

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则