[14703] 2019-10-15_如何审计一个智能合约

文档创建者:s7ckTeam
浏览次数:6
最后更新:2025-01-18
2019-10-15_如何审计一个智能合约 T i m Y e u n g   F r e e B u f   2 0 1 9 - 1 0 - 1 5 D A O   A t t a c k M e r k l e   T r e e s , R e e n t r a n c y ( ) D A O R e e n t r a n c y   b u g :   w i t h d r a w 1 0 R e e n t r a n c y V u l n e r a b i l i t y . s o l H a c k e r . s o l c o n t r a c t   R e e n t r a n c y V u l n e r a b i l i t y   { f u n c t i o n   w i t h d r a w   ( )   { u i n t   t r a n s f e r A m o u n t   =   1 0   e t h e r ; i f   ( ! m s g . s e n d e r . c a l l . v a l u e ( t r a n s f e r A m o u n t ) ( ) )   t h r o w ; } f u n c t i o n   d e p o s i t ( )   p a y a b l e   { }   / /   m a k e   c o n t r a c t   p a y a b l e   a n d   s e n d   e t h e r } c o n t r a c t   H a c k e r   { R e e n t r a n c y V u l n e r a b i l i t y   r ; u i n t   p u b l i c   c o u n t ; e v e n t   L o g F a l l b a c k ( u i n t   c ,   u i n t   b a l a n c e ) ; f u n c t i o n   A t t a c k e r ( a d d r e s s   v u l n e r a b l e )   { r   =   R e e n t r a n c y V u l n e r a b i l i t y ( v u l n e r a b l e ) ; } f u n c t i o n   a t t a c k ( )   {
H a c k e r . s o l w i t h d r a w ( ) 1 0 h a c k e r h a c k e r   f u n c t i o n ( )   p a y a b l e   { } ) E v e n t   L o g F a l l b a c k ( u i n t   v ,   u i n t   b a l a n c e ) c o u n t i f 1 0 w i t h d r a w 退 H a c k e r w i t h d a r w ( ) i f c o u n t 1 0 使     t r a n s f e r ( ) 0 w i t h d r a w B a l a n c e ( )       t r a n s f e r u s e r B a l a n c e 0 w i t h d r a w a l ( ) T r a n s a c t i o n - O r d e r i n g   D e p e n d e n c e   ( T O D )   /   F r o n t   R u n n i n g   F r o n t   R u n n i n g 使 F r o n t   R u n n i n g   T i m e s t a m p   D e p e n d e n c e 使 I n t e g e r   O v e r f l o w   a n d   U n d e r f l o w 0     M y t h r i l f u n c t i o n   a t t a c k ( )   { r . w i t h d r a w ( ) ; } f u n c t i o n   ( )   p a y a b l e   {                 c o u n t + + ;                 L o g F a l l b a c k ( c o u n t ,   t h i s . b a l a n c e ) ;                 i f   ( c o u n t   <   1 0 )   {                     r . w i t h d r a w ( ) ;                 } } f u n c t i o n   t r a n s f e r ( a d d r e s s   t o ,   u i n t   a m o u n t )   {                 t r a n s f e r   o c c u r s   h e r e } f u n c t i o n   w i t h d r a w B a l a n c e ( )   p u b l i c   {                 u i n t   a m o u n t T o W i t h d r a w   =   u s e r B a l a n c e s [ m s g . s e n d e r ] ;                 r e q u i r e ( m s g . s e n d e r . c a l l . v a l u e ( a m o u n t T o W i t h d r a w ) ( ) ) ;                 u s e r B a l a n c e s [ m s g . s e n d e r ]   =   0 ; }
    ( ) C o n s e n S y s   B e s t P r a c t i c e s H a s h E x   a u d i t   f r a m e w o r k : : u i n t   p u b l i c   c   =   a   +   b ; f u n c t i o n   u n d e r f l o w ( )   p u b l i c   { c   - =   2 * * 2 5 6 - 1 ; } f u n c t i o n   o v e r f l o w ( )   p u b l i c   { c   + =   2 * * 2 5 6 - 1 ; } r e q u i r e ( t h i s . b a l a n c e   >   0 ) ;   / /   n o t e   t h a t   0   c o u l d   b e   a n y   n u m b e r
b u g 使 使 使 使 U n t r u s t e d S e n d e r S e n d e r ( ) P u s h   O v e r   P u l l ?   ? w e i   N - p a r t y ? ( a s s e r t ( t h i s ) ) 使 a s s e r t ( ) >   =   t o t a l S u p p l y ) ; ? ? E T H E T H
使 t x . o r i g i n ? 使 t x . o r i g i n ( 使 t x . o r i g i n 使 m s g . s e n d e r ( ) ) E t h e r e u m 使 E t h e r e u m 使 B u g u n c h e c k e d - s e n d B u g   s e n d ( ) 使 s e n d ( ) E t h e r e u m 1 0 2 4 ( ) G A S s e n d 使 : 使 使 C o n s e n S y s g o o d   a n d   b a d   c o d e 使 i f   ( g a m e H a s E n d e d   & &   ! ( p r i z e P a i d O u t ) )   {               w i n n e r . s e n d ( 1 0 0 0 ) ;   / /   s e n d   a   p r i z e   t o   t h e   w i n n e r                   p r i z e P a i d O u t   =   T r u e ; } i f   ( g a m e H a s E n d e d   & &   ! ( p r i z e P a i d O u t ) )   {               a c c o u n t s [ w i n n e r ]   + =   1 0 0 0               a c c o u n t s [ l o s e r ]   + =   1 0               p r i z e P a i d O u t   =   T r u e ; } . . . f u n c t i o n   w i t h d r a w ( a m o u n t )   {               i f   ( a c c o u n t s [ m s g . s e n d e r ]   > =   a m o u n t )   {                             m s g . s e n d e r . s e n d ( a m o u n t ) ;                             a c c o u n t s [ m s g . s e n d e r ]   - =   a m o u n t ;               } } p r a g m a   s o l i d i t y   ^ 0 . 4 . 4 ;   / /   b a d p r a g m a   s o l i d i t y   0 . 4 . 4 ;   / /   g o o d
b u g 使 使 使 c o n s e n y s u s b o u n t y o n e 使 ( B D D ) 使 t r u f f l e E t h e r e u m 使 n p m   i n s t a l l   - g   t r u f f l e 使 t r u f f l e   i n i t ( n o d e . j s ) 使 a s s e r t ( ) C h a i M y t h r i l u i n t E t h e r s c r a p e 使 s e n d ( ) b u g E t h e r e u m B o u n t y o n e 使 b u g   b o u n t y b u g E t h e r e u m 使 C o n c l u s i o n E t h e r e u m   B o u n t y o n e . i o 使 S m a r t   C o n t r a c t   S e c u r i t y   B e s t   P r a c t i c e s   b y   C o n s e n S y s A u d i t   t h e   D e p l o y e d   S m a r t   C o n t r a c t ,   N o t   G i t H u b !   b y   C o n s e n S y s T h e   u l t i m a t e   g u i d e   t o   a u d i t   a   S m a r t   C o n t r a c t   +   M o s t   d a n g e r o u s   a t t a c k s   i n   S o l i d i t y   b y   M e r u n a s   G r i n c a l a i t i s D e v e l o p i n g   s m a r t   c o n t r a c t s :   s m a r t   c o n t r a c t   a u d i t   b e s t   p r a c t i c e s   b y   S M A R T Y M T h e   I m p o r t a n c e   O f   A u d i t s   A n d   S e c u r e   C o d i n g   F o r   S m a r t   C o n t r a c t s   o n   E T H N e w s u i n t 2 5 6   c o n s t a n t   p r i v a t e   s a l t   =     b l o c k . t i m e s t a m p ;   / /   w a r n i n g
O n w a r d   w i t h   E t h e r e u m   S m a r t   C o n t r a c t   S e c u r i t y   b y   Z e p p e l i n   S o l u t i o n s E t h e r C a m p s   H a c k e r   G o l d   ( H K G )   p u b l i c   c o d e   a u d i t   b y   Z e p p e l i n   S o l u t i o n s S o l i d i f i e d :   A   F u l l - a u d i t   S e r v i c e   f o r   S m a r t   C o n t r a c t s S m a r t D e c :   T o o l - d r i v e n   S m a r t   C o n t r a c t   S e c u r i t y   P l a t f o r m H a r v a r d   I n n o v a t i o n   L a b   A u d i t s   a t   E x p e r f y S e c u r i t y   A u d i t   p e r f o r m e d   o n   E t h e r e u m   C l a s s i c   M u l t i s i g   W a l l e t   b y   D e x a r a n S c a n n i n g   L i v e   E t h e r e u m   C o n t r a c t s   f o r   t h e   U n c h e c k e d - S e n d   B u g   b y   H a c k i n g ,   D i s t r i b u t e d * b l o c k g e e k s T i m Y e u n g   F r e e B u f . C O M

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

本版积分规则