[17921] 2021-03-25_projectdiscovery之nuclei源码阅读

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-18
2021-03-25_projectdiscovery之nuclei源码阅读 p r o j e c t d i s c o v e r y n u c l e i   w 8 a y   H a c k i n g   2 0 2 1 - 0 3 - 2 5 N u c l e i   i s   a   f a s t   t o o l   f o r   c o n f i g u r a b l e   t a r g e t e d   v u l n e r a b i l i t y   s c a n n i n g   b a s e d   o n   t e m p l a t e s   o f f e r i n g   m a s s i v e   e x t e n s i b i l i t y   a n d   e a s e   o f u s e . G i t h u b :   h t t p s : / / g i t h u b . c o m / p r o j e c t d i s c o v e r y / n u c l e i p y t h o n n u c l e i y a m l 使 n u c l e i n u c l e i P O C - T G o
m e t h o d c o o k i e p a t h h e a d e r c o m p a r e v 2 p k g p r o t o c o l s h t t p c l u s t e r . g o p a c k a g e   h t t p i m p o r t   (     " g i t h u b . c o m / p r o j e c t d i s c o v e r y / n u c l e i / v 2 / p k g / p r o t o c o l s / c o m m o n / c o m p a r e " ) / /   C a n C l u s t e r   r e t u r n s   t r u e   i f   t h e   r e q u e s t   c a n   b e   c l u s t e r e d . / / / /   T h i s   u s e d   b y   t h e   c l u s t e r i n g   e n g i n e   t o   d e c i d e   w h e t h e r   t w o   r e q u e s t s / /   a r e   s i m i l a r   e n o u g h   t o   b e   c o n s i d e r e d   o n e   a n d   c a n   b e   c h e c k e d   b y / /   j u s t   a d d i n g   t h e   m a t c h e r / e x t r a c t o r s   f o r   t h e   r e q u e s t   a n d   t h e   c o r r e c t   I D s . f u n c   ( r   * R e q u e s t )   C a n C l u s t e r ( o t h e r   * R e q u e s t )   b o o l   {     i f   l e n ( r . P a y l o a d s )   >   0   | |   l e n ( r . R a w )   >   0   | |   l e n ( r . B o d y )   >   0   | |   r . U n s a f e   {         r e t u r n   f a l s e     }     i f   r . M e t h o d   ! =   o t h e r . M e t h o d   | |         r . M a x R e d i r e c t s   ! =   o t h e r . M a x R e d i r e c t s   | |         r . C o o k i e R e u s e   ! =   o t h e r . C o o k i e R e u s e   | |         r . R e d i r e c t s   ! =   o t h e r . R e d i r e c t s   {         r e t u r n   f a l s e     }     i f   ! c o m p a r e . S t r i n g S l i c e ( r . P a t h ,   o t h e r . P a t h )   {         r e t u r n   f a l s e     }     i f   ! c o m p a r e . S t r i n g M a p ( r . H e a d e r s ,   o t h e r . H e a d e r s )   {         r e t u r n   f a l s e     }     r e t u r n   t r u e } p a c k a g e   c o m p a r e i m p o r t   " s t r i n g s " / /   S t r i n g S l i c e   f u n c   S t r i n g S l i c e ( a ,   b   [ ] s t r i n g )   b o o l   {   / /   I f   o n e   i s   n i l ,   t h e   o t h e r   m u s t   a l s o   b e   n i l .   i f   ( a   = =   n i l )   ! =   ( b   = =   n i l )   {     r e t u r n   f a l s e   }   i f   l e n ( a )   ! =   l e n ( b )   {     r e t u r n   f a l s e   }   f o r   i   : =   r a n g e   a   {
c l i e n t n u c l e i g i t h u b g i t l a b j i r a m a r k d o w n b u g m a r k d o w n   f o r   i   : =   r a n g e   a   {     i f   ! s t r i n g s . E q u a l F o l d ( a [ i ] ,   b [ i ] )   {       r e t u r n   f a l s e     }   }   r e t u r n   t r u e } / /   S t r i n g M a p   m a p f u n c   S t r i n g M a p ( a ,   b   m a p [ s t r i n g ] s t r i n g )   b o o l   {   / /   I f   o n e   i s   n i l ,   t h e   o t h e r   m u s t   a l s o   b e   n i l .   i f   ( a   = =   n i l )   ! =   ( b   = =   n i l )   {     r e t u r n   f a l s e   }   i f   l e n ( a )   ! =   l e n ( b )   {     r e t u r n   f a l s e   }   f o r   k ,   v   : =   r a n g e   a   {     i f   w ,   o k   : =   b [ k ] ;   ! o k   | |   ! s t r i n g s . E q u a l F o l d ( v ,   w )   {       r e t u r n   f a l s e     }   }   r e t u r n   t r u e }
h e a d l e s s n u c l e i c h r o m i u m h e a d l e s s 访 访 使 , y a m l   -   = v 2 p k g p r o t o c o l s h e a d l e s s h t t p s : / / g i t h u b . c o m / g o - r o d / r o d
i n t e r f a c e g o i n t e r f a c e 使 n u c l e i / /   T a k e n   f r o m   h t t p s : / / g i t h u b . c o m / s p f 1 3 / c a s t . p a c k a g e   t y p e s i m p o r t   (   " f m t "   " s t r c o n v "   " s t r i n g s " ) / /   T o S t r i n g   c o n v e r t s   a n   i n t e r f a c e   t o   s t r i n g   i n   a   q u i c k   w a y f u n c   T o S t r i n g ( d a t a   i n t e r f a c e { } )   s t r i n g   {   s w i t c h   s   : =   d a t a . ( t y p e )   {   c a s e   n i l :     r e t u r n   " "   c a s e   s t r i n g :     r e t u r n   s   c a s e   b o o l :     r e t u r n   s t r c o n v . F o r m a t B o o l ( s )   c a s e   f l o a t 6 4 :     r e t u r n   s t r c o n v . F o r m a t F l o a t ( s ,   ' f ' ,   - 1 ,   6 4 )   c a s e   f l o a t 3 2 :     r e t u r n   s t r c o n v . F o r m a t F l o a t ( f l o a t 6 4 ( s ) ,   ' f ' ,   - 1 ,   3 2 )   c a s e   i n t :     r e t u r n   s t r c o n v . I t o a ( s )   c a s e   i n t 6 4 :     r e t u r n   s t r c o n v . F o r m a t I n t ( s ,   1 0 )   c a s e   i n t 3 2 :     r e t u r n   s t r c o n v . I t o a ( i n t ( s ) )   c a s e   i n t 1 6 :     r e t u r n   s t r c o n v . F o r m a t I n t ( i n t 6 4 ( s ) ,   1 0 )   c a s e   i n t 8 :     r e t u r n   s t r c o n v . F o r m a t I n t ( i n t 6 4 ( s ) ,   1 0 )   c a s e   u i n t :     r e t u r n   s t r c o n v . F o r m a t U i n t ( u i n t 6 4 ( s ) ,   1 0 )   c a s e   u i n t 6 4 :     r e t u r n   s t r c o n v . F o r m a t U i n t ( s ,   1 0 )   c a s e   u i n t 3 2 :     r e t u r n   s t r c o n v . F o r m a t U i n t ( u i n t 6 4 ( s ) ,   1 0 )   c a s e   u i n t 1 6 :     r e t u r n   s t r c o n v . F o r m a t U i n t ( u i n t 6 4 ( s ) ,   1 0 )   c a s e   u i n t 8 :     r e t u r n   s t r c o n v . F o r m a t U i n t ( u i n t 6 4 ( s ) ,   1 0 )   c a s e   [ ] b y t e :
    r e t u r n   s t r i n g ( s )   c a s e   f m t . S t r i n g e r :     r e t u r n   s . S t r i n g ( )   c a s e   e r r o r :     r e t u r n   s . E r r o r ( )   d e f a u l t :     r e t u r n   f m t . S p r i n t f ( " % v " ,   d a t a )   } } / /   T o S t r i n g S l i c e   c a s t s   a n   i n t e r f a c e   t o   a   [ ] s t r i n g   t y p e . f u n c   T o S t r i n g S l i c e ( i   i n t e r f a c e { } )   [ ] s t r i n g   {   v a r   a   [ ] s t r i n g   s w i t c h   v   : =   i . ( t y p e )   {   c a s e   [ ] i n t e r f a c e { } :     f o r   _ ,   u   : =   r a n g e   v   {       a   =   a p p e n d ( a ,   T o S t r i n g ( u ) )     }     r e t u r n   a   c a s e   [ ] s t r i n g :     r e t u r n   v   c a s e   s t r i n g :     r e t u r n   s t r i n g s . F i e l d s ( v )   c a s e   i n t e r f a c e { } :     r e t u r n   [ ] s t r i n g { T o S t r i n g ( v ) }   d e f a u l t :     r e t u r n   n i l   } } / /   T o S t r i n g M a p   c a s t s   a n   i n t e r f a c e   t o   a   m a p [ s t r i n g ] i n t e r f a c e { }   t y p e . f u n c   T o S t r i n g M a p ( i   i n t e r f a c e { } )   m a p [ s t r i n g ] i n t e r f a c e { }   {   v a r   m   =   m a p [ s t r i n g ] i n t e r f a c e { } { }   s w i t c h   v   : =   i . ( t y p e )   {   c a s e   m a p [ i n t e r f a c e { } ] i n t e r f a c e { } :     f o r   k ,   v a l   : =   r a n g e   v   {       m [ T o S t r i n g ( k ) ]   =   v a l     }     r e t u r n   m   c a s e   m a p [ s t r i n g ] i n t e r f a c e { } :     r e t u r n   v   d e f a u l t :     r e t u r n   n i l   } }
D S L n u c l e i r e g x w o r d d s l y a m l n u c l e i d s l d s l i d :   C V E - 2 0 1 8 - 1 8 0 6 9 i n f o :     n a m e :   W o r d p r e s s   u n a u t h e n t i c a t e d   s t o r e d   x s s     a u t h o r :   n a d i n o     s e v e r i t y :   m e d i u m     d e s c r i p t i o n :   p r o c e s s _ f o r m s   i n   t h e   W P M L   ( a k a   s i t e p r e s s - m u l t i l i n g u a l - c m s )   p l u g i n   t h r o u g h   3 . 6 . 3   f o r   W o r d P r e s s   h a s   X S S   v i a   a n y   l o c a l e _ f i l e _ n a m e _   p a r a m e t e r   ( s u c h   a s   l o c a l e _ f i l e _ n a m e _ e n )   i n   a n   a u t h e n t i c a t e d   t h e m e - l o c a l i z a t i o n . p h p   r e q u e s t   t o   w p - a d m i n / a d m i n . p h p .     t a g s :   c v e , c v e 2 0 1 8 , w o r d p r e s s , x s s r e q u e s t s :     -   m e t h o d :   P O S T         p a t h :             -   " { { B a s e U R L } } / w p - a d m i n / a d m i n . p h p "         b o d y :   ' i c l _ p o s t _ a c t i o n = s a v e _ t h e m e _ l o c a l i z a t i o n & l o c a l e _ f i l e _ n a m e _ e n = E N " > < h t m l   x m l n s = " h a c k e d '         m a t c h e r s :             -   t y p e :   d s l                 d s l :                     -   ' s t a t u s _ c o d e = = 3 0 2   & &   c o n t a i n s ( s e t _ c o o k i e ,   " _ i c l _ c u r r e n t _ a d m i n _ l a n g u a g e " ) ' v 2 p k g o p e r a t o r s c o m m o n d s l d s l . g o

n u c l e i 使 h t t p s : / / g i t h u b . c o m / K n e t i c / g o v a l u a t e   3 b u g d s l 使 d s l f o r k 使 h t t p s : / / g i t h u b . c o m / b o y - h a c k / g o v a l u a t e p u l l   r e q u e s t e x p r e s s i o n ,   e r r   : =   g o v a l u a t e . N e w E v a l u a b l e E x p r e s s i o n ( " ( m e m _ u s e d   /   t o t a l _ m e m )   *   1 0 0 " ) ; p a r a m e t e r s   : =   m a k e ( m a p [ s t r i n g ] i n t e r f a c e { } ,   8 ) p a r a m e t e r s [ " t o t a l _ m e m " ]   =   1 0 2 4 ; p a r a m e t e r s [ " m e m _ u s e d " ]   =   5 1 2 ; r e s u l t ,   e r r   : =   e x p r e s s i o n . E v a l u a t e ( p a r a m e t e r s ) ; / /   r e s u l t   i s   n o w   s e t   t o   " 5 0 . 0 " ,   t h e   f l o a t 6 4   v a l u e . -
p r o j e c t f i l e p r o j e c t f i l e n u c l e i k e y ( r e q u e s t   s t r u c t ) s h a 2 5 6 m a p g o b v 2 p k g p r o j e c t f i l e h t t p u t i l . g o p a c k a g e   p r o j e c t f i l e i m p o r t   (   " b y t e s "   " c r y p t o / s h a 2 5 6 "   " e n c o d i n g / g o b "   " e n c o d i n g / h e x "   " i o "   " i o / i o u t i l "   " n e t / h t t p " ) f u n c   h a s h ( v   i n t e r f a c e { } )   ( s t r i n g ,   e r r o r )   {   d a t a ,   e r r   : =   m a r s h a l ( v )   i f   e r r   ! =   n i l   {     r e t u r n   " " ,   e r r   }   s h   : =   s h a 2 5 6 . N e w ( )   _ ,   e r r   =   i o . W r i t e S t r i n g ( s h ,   s t r i n g ( d a t a ) )   i f   e r r   ! =   n i l   {     r e t u r n   " " ,   e r r   }   r e t u r n   h e x . E n c o d e T o S t r i n g ( s h . S u m ( n i l ) ) ,   n i l } f u n c   m a r s h a l ( d a t a   i n t e r f a c e { } )   ( [ ] b y t e ,   e r r o r )   {   v a r   b   b y t e s . B u f f e r   e n c   : =   g o b . N e w E n c o d e r ( & b )   e r r   : =   e n c . E n c o d e ( d a t a )   i f   e r r   ! =   n i l   {     r e t u r n   n i l ,   e r r   }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则