[14952] 2020-01-07_Web防护自给自足:给Express写一个WAF中间件!

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-18
2020-01-07_Web防护自给自足:给Express写一个WAF中间件! W e b E x p r e s s W A F w 2 s f o o t   F r e e B u f   2 0 2 0 - 0 1 - 0 7 N o d e J S N o d e E x p r e s s W e b E x p r e s s W A F W e b S Q L X S S v a r   e x p r e s s   =   r e q u i r e ( ' e x p r e s s ' ) ; v a r   a p p   =   e x p r e s s ( ) ; / / 访 a p p . g e t ( ' / ' ,   f u n c t i o n   ( r e q ,   r e s )   {       r e s . s e n d ( ' H e l l o   S h a r e W A F . c o m ' ) ; } ) / / W A F a p p . u s e ( f u n c t i o n ( r e q ,   r e s ,   n e x t )   {         v a r   p a t h   =   r e q . u r l ;         i f ( w a f _ d e t e c t ( p a t h )   = =   f a l s e ) {                 n e x t ( ) ;         } } ) ; / / 使 t r u e f a l s e f u n c t i o n   w a f _ d e t e c t ( s t r _ t o _ d e t e c t ) {                 / / R u l e   f r o m   S h a r e W A F s h a r e w a f . c o m         v a r   r e g e x p _ r u l e   = [                 / s e l e c t . + ( f r o m | l i m i t ) / i ,                 / ( ? : ( u n i o n ( . * ? ) s e l e c t ) ) / i ,                 / s l e e p ( ( s * ) ( d * ) ( s * ) ) / i ,                 / g r o u p s + b y . + ( / i ,                 / ( ? : f r o m W + i n f o r m a t i o n _ s c h e m a W ) / i ,                 / ( ? : ( ? : c u r r e n t _ ) u s e r | d a t a b a s e | s c h e m a | c o n n e c t i o n _ i d ) s * ( / i ,                 / s * o r s + . * = . * / i ,                 / o r d e r s + b y s + . * - - $ / i ,                 / b e n c h m a r k ( ( . * ) , ( . * ) ) / i ,                 / b a s e 6 4 _ d e c o d e ( / i ,                 / ( ? : ( ? : c u r r e n t _ ) u s e r | d a t a b a s e | v e r s i o n | s c h e m a | c o n n e c t i o n _ i d ) s * ( / i ,                 / ( ? : e t c / W * p a s s w d ) / i ,                 / i n t o ( s + ) + ( ? : d u m p | o u t ) f i l e s * / i ,                 / x w o r k . M e t h o d A c c e s s o r / i ,                 / ( ? : d e f i n e | e v a l | f i l e _ g e t _ c o n t e n t s | i n c l u d e | r e q u i r e | r e q u i r e _ o n c e | s h e l l _ e x e c | p h p i n f o | s y s t e m | p a s s t h r u | p r e g _ w + | e x e c u t e | e c h o | p r i n t | p r i n t _ r | v a r _ d u m p | ( f p ) o p e n | a l e r t | s h o w m o d a l d i a l o g ) ( / i                 / < ( i f r a m e | s c r i p t | b o d y | i m g | l a y e r | d i v | m e t a | s t y l e | b a s e | o b j e c t | i n p u t ) / i ,                 / ( o n m o u s e o v e r | o n m o u s e m o v e | o n e r r o r | o n l o a d ) = / i ,                 / j a v a s c r i p t : / i ,                 / . . / . . / / i ,                 / | | . * ( ? : l s | p w d | w h o a m i | l l | i f c o n f o g | i p c o n f i g | & & | c h m o d | c d | m k d i r | r m d i r | c p | m v ) / i ,                 / ( ? : l s | p w d | w h o a m i | l l | i f c o n f o g | i p c o n f i g | & & | c h m o d | c d | m k d i r | r m d i r | c p | m v ) . * | | / i ,                 / ( g o p h e r | d o c | p h p | g l o b | f i l e | p h a r | z l i b | f t p | l d a p | d i c t | o g g | d a t a ) : / / i         ] ;         f o r ( i = 0 ;   i <   r e g e x p _ r u l e . l e n g t h ;   i + + ) {                 i f ( r e g e x p _ r u l e [ i ] . t e s t ( s t r _ t o _ d e t e c t )   = =   t r u e ) {                         c o n s o l e . l o g ( " a t t a c k   d e t e c t e d ,   r u l e   n u m b e r : " ,   " ( " + i + " ) " ,   r e g e x p _ r u l e [ i ] ) ;                         r e t u r n   t r u e ;                 }         }         r e t u r n   f a l s e ; } v a r   s e r v e r   =   a p p . l i s t e n ( 8 0 0 0 ,   f u n c t i o n   ( )   {       v a r   h o s t   =   s e r v e r . a d d r e s s ( ) . a d d r e s s       v a r   p o r t   =   s e r v e r . a d d r e s s ( ) . p o r t } )
E x p r e s s W A F W e b W A F W A F n e x t ( ) 使 W A F S h a r e W A F / s e l e c t . + ( f r o m | l i m i t ) / i s e l e t f r o m l i m i t S Q L W A F N o d e 访 u r l s e l e c t * f r o m   a d m i n S Q L W A F u r l c o o k i e u s e r - a g e n t p o s t W A F * w 2 s f o o t F r e e B u f / / W A F a p p . u s e ( f u n c t i o n ( r e q ,   r e s ,   n e x t )   {         v a r   p a t h   =   r e q . u r l ;         i f ( w a f _ d e t e c t ( p a t h )   = =   f a l s e ) {                 n e x t ( ) ;         } } ) ; / / R u l e   f r o m   S h a r e W A F s h a r e w a f . c o m v a r   r e g e x p _ r u l e   = [                 / s e l e c t . + ( f r o m | l i m i t ) / i ,                 / ( ? : ( u n i o n ( . * ? ) s e l e c t ) ) / i ,                 / s l e e p ( ( s * ) ( d * ) ( s * ) ) / i ,                 / g r o u p s + b y . + ( / i ,                 / ( ? : f r o m W + i n f o r m a t i o n _ s c h e m a W ) / i ,                 / ( ? : ( ? : c u r r e n t _ ) u s e r | d a t a b a s e | s c h e m a | c o n n e c t i o n _ i d ) s * ( / i ,                 / s * o r s + . * = . * / i ,                 / o r d e r s + b y s + . * - - $ / i ,                 / b e n c h m a r k ( ( . * ) , ( . * ) ) / i ,                 / b a s e 6 4 _ d e c o d e ( / i ,                 / ( ? : ( ? : c u r r e n t _ ) u s e r | d a t a b a s e | v e r s i o n | s c h e m a | c o n n e c t i o n _ i d ) s * ( / i ,                 / ( ? : e t c / W * p a s s w d ) / i ,                 / i n t o ( s + ) + ( ? : d u m p | o u t ) f i l e s * / i ,                 / x w o r k . M e t h o d A c c e s s o r / i ,                 / ( ? : d e f i n e | e v a l | f i l e _ g e t _ c o n t e n t s | i n c l u d e | r e q u i r e | r e q u i r e _ o n c e | s h e l l _ e x e c | p h p i n f o | s y s t e m | p a s s t h r u | p r e g _ w + | e x e c u t e | e c h o | p r i n t | p r i n t _ r | v a r _ d u m p | ( f p ) o p e n | a l e r t | s h o w m o d a l d i a l o g ) ( / i ,                 / < ( i f r a m e | s c r i p t | b o d y | i m g | l a y e r | d i v | m e t a | s t y l e | b a s e | o b j e c t | i n p u t ) / i ,                 / ( o n m o u s e o v e r | o n m o u s e m o v e | o n e r r o r | o n l o a d ) = / i ,                 / j a v a s c r i p t : / i ,                 / . . / . . / / i ,                 / | | . * ( ? : l s | p w d | w h o a m i | l l | i f c o n f o g | i p c o n f i g | & & | c h m o d | c d | m k d i r | r m d i r | c p | m v ) / i ,                 / ( ? : l s | p w d | w h o a m i | l l | i f c o n f o g | i p c o n f i g | & & | c h m o d | c d | m k d i r | r m d i r | c p | m v ) . * | | / i ,                 / ( g o p h e r | d o c | p h p | g l o b | f i l e | p h a r | z l i b | f t p | l d a p | d i c t | o g g | d a t a ) : / / i         ] ; h t t p : / / 1 2 7 . 0 . 0 . 1 : 8 0 0 0 / i n d e x . h t m l ? s e l e c t   *   f r o m   a d m i n

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

本版积分规则