[6532] 2020-02-29_BurpExtenderApis插件开发(六)

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-17
2020-02-29_BurpExtenderApis插件开发(六) B u r p   E x t e n d e r   A p i s     E   2 0 2 0 - 0 2 - 2 9   s k e N o . 1 N o . 1 使 N o . 2 N o . 2 f a s t j s o n   r c e f a s t j s o n j s o n   b u i l d P a r a m e t e r 使 b u i l d P a r a m e t e r   b u i l d H t t p M e s s a g e   j s o n f a s t j s o n   r c e N o . 3 N o . 3 g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e g e t C o n t e n t T y p e I R e q u e s t I n f o a p i h t t p s : / / p o r t s w i g g e r . n e t / b u r p / e x t e n d e r / a p i / b u r p / I R e q u e s t I n f o . h t m l # g e t C o n t e n t T y p e ( ) r e q C o n t e n t T y p e   =   a n a l y z e d R e q u e s t . g e t C o n t e n t T y p e ( ) j s o n a n a l y z e d R e q u e s t . g e t C o n t e n t T y p e ( ) 4 r e q C o n t e n t T y p e 4 j s o n 使 j s o n N o . 4 N o . 4 s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) s t r i n g T o B y t e s ( ) b y t e [ ]   s t r i n g T o B y t e s ( j a v a . l a n g . S t r i n g   d a t a )   .
0 x W X Y Z 0 x Y Z b y t e s T o S t r i n g ( ) 使 S t r i n g a p i h t t p s : / / p o r t s w i g g e r . n e t / b u r p / e x t e n d e r / a p i / b u r p / I E x t e n s i o n H e l p e r s . h t m l # s t r i n g T o B y t e s ( j a v a . l a n g . S t r i n g ) b u r p p a y l o a d b u r p n e w B o d y b y t e a p i 使 n e w B o d y P a y l o a d   =   ' { " a g e " : 2 5 ,   " n a m e " : " B o b " " } ' n e w B o d y   =   s e l f . _ h e l p e r s . s t r i n g T o B y t e s ( n e w B o d y P a y l o a d )               #   p a y l o a d h t t p N o . 5 N o . 5 b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b u i l d H t t p M e s s a g e b y t e [ ]   b u i l d H t t p M e s s a g e ( j a v a . u t i l . L i s t < j a v a . l a n g . S t r i n g >   h e a d e r s ,   b y t e [ ]   b o d y ) H T T P C o n t e n t - L e n g t h a p i h t t p s : / / p o r t s w i g g e r . n e t / b u r p / e x t e n d e r / a p i / b u r p / I E x t e n s i o n H e l p e r s . h t m l # b u i l d H t t p M e s s a g e ( j a v a . u t i l . L i s t , % 2 0 b y t e [ ] ) b u i l d H t t p M e s s a g e h e a d e r s I R e q u e s t I n f o g e t H e a d e r s ( ) a n a l y z e d I R e q u e s t I n f o r e q H e a d e r s   =   a n a l y z e d I R e q u e s t I n f o . g e t H e a d e r s ( ) b u i l d H t t p M e s s a g e b o d y I E x t e n s i o n H e l p e r s . s t r i n g T o B y t e s ( ) n e w B o d y   =   s e l f . _ h e l p e r s . s t r i n g T o B y t e s ( n e w B o d y P a y l o a d )   #   b u i l d H t t p M e s s a g e h t t p n e w R e q u e s t   =   s e l f . _ h e l p e r s . b u i l d H t t p M e s s a g e ( r e q H e a d e r s ,   n e w B o d y )   #   j s o n b u i l d P a r a m e t e r b u i l d H t t p M e s s a g e b o d y h t t p 使 m a k e H t t p R e q u e s t n e w I H t t p R e q u e s t R e s p o n s e   =   s e l f . _ c a l l b a c k s . m a k e H t t p R e q u e s t ( h t t p S e r v i c e ,   n e w R e q u e s t )   #   f a s t j s o n   r c e d e m o
#   - * - c o d i n g : u t f - 8   - * - #   f a s t j s o n   r c e f r o m   b u r p   i m p o r t   I B u r p E x t e n d e r ,   I S c a n n e r C h e c k ,   I S c a n I s s u e ,   I M e s s a g e E d i t o r T a b F a c t o r y ,   I C o n t e x t M e n u F a c t o r y f r o m   b u r p   i m p o r t   I S c a n I s s u e i m p o r t   s y s i m p o r t   t i m e i m p o r t   o s c l a s s   B u r p E x t e n d e r ( I B u r p E x t e n d e r ,   I M e s s a g e E d i t o r T a b F a c t o r y ,   I C o n t e x t M e n u F a c t o r y ,   I S c a n n e r C h e c k ) :       d e f   r e g i s t e r E x t e n d e r C a l l b a c k s ( s e l f ,   c a l l b a c k s ) :               #   R e q u i r e d   f o r   e a s i e r   d e b u g g i n g :               s y s . s t d o u t   =   c a l l b a c k s . g e t S t d o u t ( )               #   E x t e n d e r n a m e   -                 s e l f . _ c a l l b a c k s   =   c a l l b a c k s               #   I E x t e n s i o n H e l p e r s 使 H T T P               s e l f . _ h e l p e r s   =   c a l l b a c k s . g e t H e l p e r s ( )               #   E x t e n d e r n a m e   -                 s e l f . _ c a l l b a c k s . s e t E x t e n s i o n N a m e ( " P a s s i v e   F a s t j s o n   C h e c k " )               #                 c a l l b a c k s . r e g i s t e r S c a n n e r C h e c k ( s e l f )       #   u r l       d e f   g e t _ r e q u e s t _ u r l ( s e l f ,   p r o t o c o l ,   r e q H e a d e r s ) :               l i n k   =   r e q H e a d e r s [ 0 ] . s p l i t ( '   ' ) [ 1 ]               h o s t   =   r e q H e a d e r s [ 1 ] . s p l i t ( '   ' ) [ 1 ]               r e t u r n   p r o t o c o l   +   ' : / / '   +   h o s t   +   l i n k       #         d e f   g e t _ r e q u e s t _ i n f o ( s e l f ,   r e q u e s t ) :               a n a l y z e d I R e q u e s t I n f o   =   s e l f . _ h e l p e r s . a n a l y z e R e q u e s t ( r e q u e s t )     #   a n a l y z e R e q u e s t H T T P I R e q u e s t I n f o               r e q H e a d e r s   =   a n a l y z e d I R e q u e s t I n f o . g e t H e a d e r s ( )     #   H T T P H T T P
              r e q H e a d e r s   =   a n a l y z e d I R e q u e s t I n f o . g e t H e a d e r s ( )     #   H T T P H T T P               r e q B o d y s   =   r e q u e s t [ a n a l y z e d I R e q u e s t I n f o . g e t B o d y O f f s e t ( ) : ] . t o s t r i n g ( )     #                 r e q M e t h o d   =   a n a l y z e d I R e q u e s t I n f o . g e t M e t h o d ( )     #                 r e q P a r a m e t e r s   =   a n a l y z e d I R e q u e s t I n f o . g e t P a r a m e t e r s ( )               r e t u r n   a n a l y z e d I R e q u e s t I n f o ,   r e q H e a d e r s ,   r e q B o d y s ,   r e q M e t h o d ,   r e q P a r a m e t e r s       #         d e f   g e t _ r e s p o n s e _ i n f o ( s e l f ,   r e s p o n s e ) :               a n a l y z e d I R e s p o n s e I n f o   =   s e l f . _ h e l p e r s . a n a l y z e R e q u e s t ( r e s p o n s e )     #   a n a l y z e R e s p o n s e H T T P I R e s p o n s e I n f o               r e s H e a d e r s   =   a n a l y z e d I R e s p o n s e I n f o . g e t H e a d e r s ( )     #   g e t H e a d e r s H T T P H T T P               r e s B o d y s   =   r e s p o n s e [ a n a l y z e d I R e s p o n s e I n f o . g e t B o d y O f f s e t ( ) : ] . t o s t r i n g ( )     #   g e t B o d y O f f s e t r e s p o n s e [ a n a l y z e d R e s p o n s e . g e t B o d y O f f s e t ( ) : ]               #   r e s S t a t u s C o d e   =   a n a l y z e d I R e s p o n s e I n f o . g e t S t a t u s C o d e ( )     #   g e t S t a t u s C o d e H T T P H T T P               r e t u r n   r e s H e a d e r s ,   r e s B o d y s       #         d e f   g e t _ s e r v e r _ i n f o ( s e l f ,   h t t p S e r v i c e ) :               h o s t   =   h t t p S e r v i c e . g e t H o s t ( )               p o r t   =   h t t p S e r v i c e . g e t P o r t ( )               p r o t o c o l   =   h t t p S e r v i c e . g e t P r o t o c o l ( )               i s h t t p s   =   F a l s e               i f   p r o t o c o l   = =   ' h t t p s ' :                       i s h t t p s   =   T r u e               r e t u r n   h o s t ,   p o r t ,   p r o t o c o l ,   i s h t t p s       #   g e t p o s t c o o k i e - > 使       d e f   g e t _ p a r a m e t e r _ N a m e _ V a l u e _ T y p e ( s e l f ,   p a r a m e t e r ) :               p a r a m e t e r N a m e   =   p a r a m e t e r . g e t N a m e ( )               p a r a m e t e r V a l u e   =   p a r a m e t e r . g e t V a l u e ( )               p a r a m e t e r T y p e   =   p a r a m e t e r . g e t T y p e ( )               r e t u r n   p a r a m e t e r N a m e ,   p a r a m e t e r V a l u e ,   p a r a m e t e r T y p e       #         d e f   s t a r t _ r u n ( s e l f ,   b a s e R e q u e s t R e s p o n s e ) :               s e l f . b a s e R e q u e s t R e s p o n s e   =   b a s e R e q u e s t R e s p o n s e               #  
              #                 r e q u e s t   =   s e l f . b a s e R e q u e s t R e s p o n s e . g e t R e q u e s t ( )               a n a l y z e d R e q u e s t ,   r e q H e a d e r s ,   r e q B o d y s ,   r e q M e t h o d ,   r e q P a r a m e t e r s   =   s e l f . g e t _ r e q u e s t _ i n f o ( r e q u e s t )               r e q C o n t e n t T y p e   =   a n a l y z e d R e q u e s t . g e t C o n t e n t T y p e ( )               #   j s o n               i f   r e q C o n t e n t T y p e   = =   4 :                   #   j s o n                       #                         h t t p S e r v i c e   =   s e l f . b a s e R e q u e s t R e s p o n s e . g e t H t t p S e r v i c e ( )                       n e w B o d y P a y l o a d   =   ' { " a g e " : 2 5 ,   " n a m e " : " B o b " " } '                       n e w B o d y   =   s e l f . _ h e l p e r s . s t r i n g T o B y t e s ( n e w B o d y P a y l o a d )               #   h t t p s : / / p o r t s w i g g e r . n e t / b u r p / e x t e n d e r / a p i / b u r p / I E x t e n s i o n H e l p e r s . h t m l # s t r i n g T o B y t e s ( j a v a . l a n g . S t r i n g )                       n e w R e q u e s t   =   s e l f . _ h e l p e r s . b u i l d H t t p M e s s a g e ( r e q H e a d e r s ,   n e w B o d y )         #   j s o n b u i l d P a r a m e t e r b u i l d H t t p M e s s a g e b o d y h t t p h t t p s : / / p o r t s w i g g e r . n e t / b u r p / e x t e n d e r / a p i / b u r p / I E x t e n s i o n H e l p e r s . h t m l # b u i l d H t t p M e s s a g e ( j a v a . u t i l . L i s t , % 2 0 b y t e [ ] )                       n e w I H t t p R e q u e s t R e s p o n s e   =   s e l f . _ c a l l b a c k s . m a k e H t t p R e q u e s t ( h t t p S e r v i c e ,   n e w R e q u e s t )     #                         r e s p o n s e   =   n e w I H t t p R e q u e s t R e s p o n s e . g e t R e s p o n s e ( )     #                         a n a l y z e d I R e s p o n s e I n f o   =   s e l f . _ h e l p e r s . a n a l y z e R e q u e s t ( r e s p o n s e )     #   a n a l y z e R e s p o n s e H T T P I R e s p o n s e I n f o                       r e s B o d y s   =   r e s p o n s e [ a n a l y z e d I R e s p o n s e I n f o . g e t B o d y O f f s e t ( ) : ] . t o s t r i n g ( )                       n e w U r l   =   s e l f . _ h e l p e r s . a n a l y z e R e q u e s t ( n e w I H t t p R e q u e s t R e s p o n s e ) . g e t U r l ( )                       p r i n t   r e s B o d y s                       i f   ' f a s t j s o n '   i n   r e s B o d y s :                               p r i n t   ' [ + ]   { } ' . f o r m a t ( n e w U r l )                               s e l f . s a v e ( n e w U r l )                               s e l f . i s s u e s . a p p e n d ( C u s t o m S c a n I s s u e (                                                               n e w I H t t p R e q u e s t R e s p o n s e . g e t H t t p S e r v i c e ( ) ,                                                               n e w U r l ,                                                               [ n e w I H t t p R e q u e s t R e s p o n s e ] ,                                                               " F a s t J s o n   R C E " ,                                                               " f a s t j s o n " ,                                                               " H i g h " ) )                       e l s e :                               p r i n t   ' [ - ]   { } ' . f o r m a t ( n e w U r l )       d e f   d o P a s s i v e S c a n ( s e l f ,   b a s e R e q u e s t R e s p o n s e ) :               ' ' '
              : p a r a m   b a s e R e q u e s t R e s p o n s e :   I H t t p R e q u e s t R e s p o n s e               : r e t u r n :               ' ' '               s e l f . i s s u e s   =   [ ]               s e l f . s t a r t _ r u n ( b a s e R e q u e s t R e s p o n s e )               r e t u r n   s e l f . i s s u e s       d e f   c o n s o l i d a t e D u p l i c a t e I s s u e s ( s e l f ,   e x i s t i n g I s s u e ,   n e w I s s u e ) :               ' ' '                             : p a r a m   e x i s t i n g I s s u e :               : p a r a m   n e w I s s u e :               : r e t u r n :               ' ' '               i f   e x i s t i n g I s s u e . g e t I s s u e D e t a i l ( )   = =   n e w I s s u e . g e t I s s u e D e t a i l ( ) :                       r e t u r n   - 1               r e t u r n   0 c l a s s   C u s t o m S c a n I s s u e ( I S c a n I s s u e ) :       d e f   _ _ i n i t _ _ ( s e l f ,   h t t p S e r v i c e ,   u r l ,   h t t p M e s s a g e s ,   n a m e ,   d e t a i l ,   s e v e r i t y ) :               ' ' '               : p a r a m   h t t p S e r v i c e :   H T T P               : p a r a m   u r l :   u r l               : p a r a m   h t t p M e s s a g e s :   H T T P               : p a r a m   n a m e :                 : p a r a m   d e t a i l :                 : p a r a m   s e v e r i t y :                 ' ' '               s e l f . _ h t t p S e r v i c e   =   h t t p S e r v i c e               s e l f . _ u r l   =   u r l               s e l f . _ h t t p M e s s a g e s   =   h t t p M e s s a g e s               s e l f . _ n a m e   =   n a m e               s e l f . _ d e t a i l   =   d e t a i l               s e l f . _ s e v e r i t y   =   s e v e r i t y       d e f   g e t U r l ( s e l f ) :               r e t u r n   s e l f . _ u r l
              r e t u r n   s e l f . _ u r l       d e f   g e t I s s u e N a m e ( s e l f ) :               r e t u r n   s e l f . _ n a m e       d e f   g e t I s s u e T y p e ( s e l f ) :               r e t u r n   0       d e f   g e t S e v e r i t y ( s e l f ) :               r e t u r n   s e l f . _ s e v e r i t y       d e f   g e t C o n f i d e n c e ( s e l f ) :               r e t u r n   " C e r t a i n "       d e f   g e t I s s u e B a c k g r o u n d ( s e l f ) :               p a s s       d e f   g e t R e m e d i a t i o n B a c k g r o u n d ( s e l f ) :               p a s s       d e f   g e t I s s u e D e t a i l ( s e l f ) :               r e t u r n   s e l f . _ d e t a i l       d e f   g e t R e m e d i a t i o n D e t a i l ( s e l f ) :               p a s s       d e f   g e t H t t p M e s s a g e s ( s e l f ) :               r e t u r n   s e l f . _ h t t p M e s s a g e s       d e f   g e t H t t p S e r v i c e ( s e l f ) :               r e t u r n   s e l f . _ h t t p S e r v i c e f a s t j o n p a y l o a d
d e m o p a y l o a d p a y l o a d d n s l o g E   h t t p s : / / w w w . e a s y a q . c o m   |   R S A C   P P T   |   E R S A C 2 0 2 0 2 0 2 0   R S A   C o n f e r e n c e V o a t z         E
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则