[19369] 2018-07-24_“巅峰极客”大赛官方Writeup(下)

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-18
2018-07-24_“巅峰极客”大赛官方Writeup(下)   W r i t e u p i   2 0 1 8 - 0 7 - 2 4             f l a g { t h e _ g r e a t e s t _ g e e k }     w a r m u p     s t e g s o l v e . j a r A n a l y s e D a t a   E x t r a c t R G B b i n . . . . .   . . . . .   . . . . .   . . . . .   ! ? ! ! .   ? . . . .   . . . . .   . . . . .   . . . . .   . ? . ? !   . ? . . .   . ! . . . . . . . .   . . . . .   ! . ? . .   . . . . .   ! ? ! ! .   ? ! ! ! !   ! ! ? . ?   ! . ? ! !   ! ! ! . .   . . . . .   . . . . .   . ! . ? . . . . . .   . . . ! ?   ! ! . ? .   . . . . .   . . ? . ?   ! . ? . .   . . . . .   . ! . ? .   . . . . .   . . . ! ?   ! ! . ? !   ! ! ! ! ! ! ! ? . ?   ! . ? ! !   ! ! ! ! !   ! ! ! ! !   ! ! ! . !   ! ! ! ! .   ? . . . .   . . . . .   . . . . !   ? ! ! . ?   ! ! ! ! !   ! ! ! ! ! ! ! ? . ?   ! . ? ! !   ! ! ! ! !   ! ! ! ! !   ! ! ! ! !   . ! ! ! !   ! . ! ! !   ! ! ! ! !   ! . . . .   . . . . .   ! . ! ! !   . . . . . . . ! . !   ! ! ! ! !   ! ! ! ! !   ! ! ! ! !   ! ! ! . ?   .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k ! O o k ?   O o k !   O o k !   O o k .   O o k ?   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k . O o k .   O o k .   O o k .   O o k .   O o k ?   O o k .   O o k ?   O o k !   O o k .   O o k ?   O o k .   O o k .   O o k .   O o k .   O o k . O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k !   O o k .   O o k .   O o k .   O o k !   O o k .   O o k !   O o k ! O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k .   O o k .   O o k .   O o k .   O o k .   O o k . O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k !   O o k .   O o k ?   O o k .   O o k .   O o k .   O o k .   O o k . O o k .   O o k .   O o k !   O o k ?   O o k !   O o k !   O o k .   O o k ?   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k ? O o k .   O o k ?   O o k !   O o k .   O o k ?   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k .   O o k .   O o k . O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k !   O o k .   O o k ! O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k . O o k .   O o k .   O o k .   O o k .   O o k !   O o k .   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k ! O o k !   O o k !   O o k .   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k .   O o k ?   O o k .   O o k .   O o k . O o k .   O o k .   O o k .   O o k .   O o k !   O o k ?   O o k !   O o k !   O o k .   O o k ?   O o k .   O o k .   O o k .   O o k .   O o k . O o k .   O o k ?   O o k .   O o k ?   O o k !   O o k .   O o k ?   O o k .   O o k .   O o k .   O o k .   O o k !   O o k .   O o k !   O o k ! O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k !   O o k .   O o k !   O o k .   O o k .   O o k .   O o k . O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k .   O o k !   O o k .   O o k ?   O o k .     + + + + +   + [ - > +   + + + + +   < ] > + +   + + + + +   + + . < +   + + [ - >   + + + < ]   > + . - -   . < + + +   + + + [ -   > + + + + + + < ] >   + + + + +   + + + . <   + + + + +   + [ - > -   - - - - -   < ] > - -   - - . - -   . - - - -   - . < + +   + + + + +   [ - > + + + + + + +   < ] > + +   + . - - -   . < + + +   + + + [ -   > - - - -   - - < ] >   - - - - -   - - - - -   . . - - .   < + + + +   + + [ - > + + + + +   + < ] > +   + + + + +   + + + + +   + . < + +   + + + [ -   > + + + +   + < ] > +   . < b r a i n f u c k o o k h t t p s : / / w w w . s p l i t b r a i n . o r g / s e r v i c e s / o o k   f l a g f l a g { d b 6 4 0 4 3 6 - 7 8 3 9 - 4 0 5 0 - 8 3 3 9 - 7 5 a 9 7 2 f c 5 5 3 c }     l o l i   2 5 5 0 x f f
0 x f f 0 x f f b i n w a l k % p n g d u m p   d u m p 使 a s c i i f l a g     f l o w s   p c a p u s b l e n t h 3 u  
  p c a p t x t     t x t p c a p
  p c a p u s b u s b t s h a r k   t s h a r k   - r   u s b k e y b o a r d . p c a p   - T   f i e l d s   - e   u s b . c a p d a t a   1 0 8 1 0 1 0 8 m a p p i n g s   =   {   0 x 0 4 : " A " ,   0 x 0 5 : " B " ,   0 x 0 6 : " C " ,   0 x 0 7 : " D " ,   0 x 0 8 : " E " ,   0 x 0 9 : " F " ,   0 x 0 A : " G " ,   0 x 0 B : " H " ,   0 x 0 C : " I " ,   0 x 0 D : " J " ,   0 x 0 E : " K " ,   0 x 0 F : " L " ,   0 x 1 0 : " M " ,   0 x 1 1 : " N " , 0 x 1 2 : " O " ,   0 x 1 3 : " P " ,   0 x 1 4 : " Q " ,   0 x 1 5 : " R " , 0 x 1 6 : " S " ,   0 x 1 7 : " T " ,   0 x 1 8 : " U " , 0 x 1 9 : " V " ,   0 x 1 A : " W " ,   0 x 1 B : " X " ,   0 x 1 C : " Y " ,   0 x 1 D : " Z " ,   0 x 1 E : " 1 " ,   0 x 1 F : " 2 " ,   0 x 2 0 : " 3 " ,   0 x 2 1 : " 4 " ,   0 x 2 2 : " 5 " ,   0 x 2 3 : " 6 " ,   0 x 2 4 : " 7 " ,   0 x 2 5 : " 8 " ,   0 x 2 6 : " 9 " ,   0 x 2 7 : " 0 " ,   0 x 2 8 : " n " ,   0 x 2 a : " [ D E L ] " ,   0 X 2 B : "   " ,   0 x 2 C : "   " ,   0 x 2 D : " - " ,   0 x 2 E : " = " ,   0 x 2 F : " [ " ,   0 x 3 0 : " ] " ,   0 x 3 1 : " " ,   0 x 3 2 : " ~ " ,   0 x 3 3 : " ; " ,   0 x 3 4 : " ' " ,   0 x 3 6 : " , " ,   0 x 3 7 : " . "   } n u m s   =   [ ] f o r   l i n e   i n   d a t a . s p l i t ( ) : i f   l e n ( l i n e )   i s   n o t   2 3 : c o n t i n u e n u m s . a p p e n d ( i n t ( l i n e [ 6 : 8 ] , 1 6 ) ) o u t p u t   =   " " f o r   n   i n   n u m s : i f   n   = =   0   : c o n t i n u e i f   n   i n   m a p p i n g s : o u t p u t   + =   m a p p i n g s [ n ] p r i n t   o u t p u t   F L A G [ U 5 B - K E Y s h i f t 8 0 x 0 2 s h i f t f l a g f l a g { u 5 b _ k e y   t s h a r k   - r   u s b m o u s e . p c a p   - T   f i e l d s   - e   u s b . c a p d a t a   t s h a r k 8 t x t   0 x 0 0   0 x 0 1   0 x 0 2 0 x 0 0 0 x 0 1 0 x 0 2 0 x 0 0 0 1 1 0 0 1 f l a g b i n _ f l a g   =   ' ' f o r   i   i n   d a t a . s p l i t ( ) : i f   i [ : 2 ]   = =   ' 0 1 ' : b i n _ f l a g   + =   ' 0 ' i f   i [ : 2 ]   = =   ' 0 2 ' : b i n _ f l a g   + =   ' 1 ' p r i n t   h e x ( i n t ( b i n _ f l a g ,   2 ) ) [ 2 : - 1 ] . d e c o d e ( ' h e x ' )  
b o 4 r d _ m 0 u s e } f l a g f l a g { u 5 b _ k e y b o 4 r d _ m 0 u s e }     X A S H   # ! / u s r / b i n / e n v   p y t h o n   i m p o r t   o s f r o m   h a s h l i b   i m p o r t   m d 5     #   S t e p   1 : #   f i n d   t h e   k e y :   p r i n t   x a s h ( c h r ( 0 )   *   1 6 ,   k e y ) #   S t e p   2 : #   f i n d   t h e   f i r s t   c h a r   o f   m d 5 ( k e y ) #   S t e p   3 : #   g e n e r a t e   r a n d o m   s t r i n g   w i t h   l e n g t h   1 5   a n d   c o n c a t i n a t e   i t   w i t h   t h e   t h e   f i r s t   c h a r   o f   m d 5 ( k e y )   d e f   x a s h ( d a t a ,   x k e y ) :   a s s e r t   l e n ( x k e y )   = =   1 6   i f   l e n ( d a t a )   <   l e n ( x k e y ) :   d a t a   + =   m d 5 ( x k e y ) . d i g e s t ( ) [ : l e n ( x k e y )   -   l e n ( d a t a ) ]   o u t   =   b ' '   f o r   n   i n   r a n g e ( l e n ( d a t a ) ) :   o u t   + =   c h r (   o r d ( d a t a [ n ] )   ^   o r d ( x k e y [ n ] )   )   r e t u r n   o u t . e n c o d e ( ' h e x ' )   k e y   =   o s . u r a n d o m ( 1 6 ) c o n s t   =   o s . u r a n d o m ( 1 5 )   s 1   =   c o n s t s 2   =   c o n s t   +   m d 5 ( k e y ) . d i g e s t ( ) [ 0 ]   p r i n t   x a s h ( c h r ( 0 )   *   1 6 ,   k e y )   = =   k e y . e n c o d e ( ' h e x ' )   #   F i n d   t h e   k e y   p r i n t   x a s h ( s 1 ,   k e y )   = =   x a s h ( s 2 ,   k e y )   P u r e   M a t h  
i m p o r t   g m p y   #   p   a n d   q   a r e   p r i m e s   s o   t h e s e   e q u a l i t y   a r e   t r u e :   p r i n t   p o w ( p ,   q ,   p * q )   +   p o w ( q ,   p ,   p * q )   = =   p   +   q   #   ( p * * q   +   q * * p )   %   ( p * q ) p r i n t   p o w ( p + q ,   p + q ,   p * q )   = =   ( p o w ( p ,   p + 1 ,   p * q )   +   p o w ( q ,   q + 1 ,   p * q ) )   %   ( p * q )   #   =   p * * ( p + q )   +   q * * ( p + q )   =   p * * p   *   p * * q   +   q * * q   *   q * * p   =   p * * p   *   p   +   q * * q   *   q   =   p * * ( p + 1 )   +   q * * ( q + 1 )   p r i n t   p o w ( p ,   p + 1 ,   p * q )   = =   p o w ( p ,   p ,   q ) * p p r i n t   p o w ( q ,   q + 1 ,   p * q )   = =   p o w ( q ,   q ,   p ) * q   #   W e   w i l l   p r o v i d e   t h e s e ,   s o   w e   c a n   f i n d   p   a n d   q   w i t h   s i m p l e   m a t h ! #   1 )   p o w ( p ,   p ,   q ) #   2 )   p o w ( q ,   q ,   p ) #   3 )   p o w ( p ,   q ,   p * q )   +   p o w ( q ,   p ,   p * q )   a n d #   4 )   p o w ( p + q ,   p + q ,   p * q )   #   A f t e r   f i n d i n g   p   a n d   q ,   w e   c a n   f i n d   F L A G   w i t h   R S A   f o r m u l a ,   c o z   n   =   p * q   i s   R S A   m o d u l u s   a n d   e   =   3 1 3 3 7   c   =   #   g e t   f r o m   c o d e   o u t p u t e   =   3 1 3 3 7 n   =   p   *   q p h i   =   ( p - 1 ) * ( q - 1 ) d   =   g m p y . i n v e r t ( e ,   p h i ) F L A G   =   p o w ( c ,   d ,   n )     S i m p l e   B a s e - N               i d a   B a s e 3 2 N o P q R s T u V w X y Z a B c D e F g H i J k L m 5 6 7 2 3 4
B a s e 3 2 b a s e 6 4 5 8 r o t 1 3 9 7 , 6 5   A S C I I a A r o t 1 3 f l a g " " " b a s e 3 2 L @ h _ X a @ J _ o @ f 3 3 2 _ @ A q _ e 0 g 1 3 , r o t 1 3 f l a g : Y @ u _ K n @ W _ b @ s 3 3 2 _ @ N d _ r 0 t 1 3 " " " i m p o r t   b a s e 6 4 i m p o r t   s t r i n g   t r   =   s t r i n g . m a k e t r a n s ( " N o P q R s T u V w X y Z a B c D e F g H i J k L m 5 6 7 2 3 4 " , " A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7 " )   E n B a s e 3 2   =   " w e N T D k 5 L Z s N R H k 6 c V o g q T Z m F y 2 N R P 7 X 4 Z H L T B Z w g " . t r a n s l a t e ( t r )   r o t _ 1 3 =   b a s e 6 4 . b 3 2 d e c o d e ( E n B a s e 3 2 )   p r i n t   r o t _ 1 3   F l a g   =   ' '
n   =   1 3 f o r   l e t t e r   i n   r o t _ 1 3 :   i f   l e t t e r . i s u p p e r ( ) :   c   =   o r d ( l e t t e r )   -   o r d ( ' A ' )   i   =   ( c   +   n )   %   2 6   +   o r d ( ' A ' )   F l a g + =   c h r ( i )   e l i f   l e t t e r . i s l o w e r ( ) :   c   =   o r d ( l e t t e r )   -   o r d ( ' a ' )   i   =   ( c   +   n )   %   2 6   +   o r d ( ' a ' )   F l a g + =   c h r ( i )   e l s e :   F l a g + =   l e t t e r   p r i n t   F l a g   I n p u t   y o u r   l u c k y   n u m b e r _ s t r i n g   n u m b e r _ s t r i n g i d a i d a S M C
  0 x 8 9 8 9 8 9 8 9 , 0 x 9 8 9 8 9 8 9 8 .   d u m p 1   f l a g f l a g   I n t e r e s t i n g   P o i n t e r   i d a 3 2 m a i n d a t a 0 0 f l a g M a i n d a t a 2 0
V 1 1 0 , 0 f l a g . 2   V 1 2 ,   V 1 3   r e s u l t 0 .   f l a g 6 V 8 V 1 2 , V 1 3 0 1 F i l e _ c o n t e n t 0 x 2 0   d a t a V 8 _ 0 V 8 _ 1 V 8 _ 2 V 8 _ 3 0 x F F F F F F F F V 8 _ 4 0 x 7 V 8 _ 5 0 x 8
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则