[17089] 2021-07-30_更适应DevOps的被动式漏洞检测产品技术研究及架构设计

文档创建者:s7ckTeam
浏览次数:12
最后更新:2025-01-18
2021-07-30_更适应DevOps的被动式漏洞检测产品技术研究及架构设计 D e v O p s   F r e e B u f   2 0 2 1 - 0 7 - 3 0 I n t e r a c t i v e   a p p l i c a t i o n   s e c u r i t y   t e s t i n g w e b h t t p / h t t p s h o o k w e b h t t p / h t t p s / H T T P / H T T P S h t t p / h t t p s h t t p / h t t p s n g i n x   m i r r o r h t t p / h t t p s h t t p / h t t p s t c p h t t p s o c k e t h t t p s / c a h t t p s h t t p s p y t h o n B a s e H T T P R e q u e s t H a n d l e r t c p h t t p   p y t h o n w e b s e r v e r p y t h o n B a s e H T T P R e q u e s t H a n d l e r d o _ G E T ,   d o _ P O S T ,   d o _ P U T ,   d o _ H E A D ,   d o _ D E L E T E ,   d o _ O P T I O N S ,   h t t p / h t t p h t t p s
h t t p s h a s h c a 便 a e s h t t p s h t t p s a e s 便 使 a e s h t t p s h t t p s c a s e r v e r h t t p / h t t p s h t t p s h t t p s h t t p s h t t p s 便 a e s 便 p a y l o a d w e b h t t p s 1 d e f   _ g e n _ c a ( s e l f , a g a i n = F a l s e ) :         #   G e n e r a t e   k e y         #
2 h t t p s 0 x 1   h t t p s h t t p s ( c h r o m e f i r e f o x ) 0 x 2   c r t p e m c r t p e m h t t p s h t t p s ( h t t p s ) 3 ( h t t p / h t t p s ) h t t p s h t t p s m a c c h r o m e : 0 x 1   c h r o m e s w i t c h y o m e g a   p r o x y s w i t c h y o m e g a 便 p r o x y s w i t c h y o m e g a         #         i f   o s . p a t h . e x i s t s ( s e l f . c a _ f i l e _ p a t h )   a n d   o s . p a t h . e x i s t s ( s e l f . c e r t _ f i l e _ p a t h )   a n d   n o t   a g a i n :                 s e l f . _ r e a d _ c a ( s e l f . c a _ f i l e _ p a t h )   #                 r e t u r n         s e l f . k e y   =   P K e y ( )         s e l f . k e y . g e n e r a t e _ k e y ( T Y P E _ R S A ,   2 0 4 8 )         #   G e n e r a t e   c e r t i f i c a t e         s e l f . c e r t   =   X 5 0 9 ( )         s e l f . c e r t . s e t _ v e r s i o n ( 2 )         s e l f . c e r t . s e t _ s e r i a l _ n u m b e r ( 1 )         s e l f . c e r t . g e t _ s u b j e c t ( ) . C N   =   ' b a s e p r o x y '         s e l f . c e r t . g m t i m e _ a d j _ n o t B e f o r e ( 0 )         s e l f . c e r t . g m t i m e _ a d j _ n o t A f t e r ( 3 1 5 3 6 0 0 0 0 )         s e l f . c e r t . s e t _ i s s u e r ( s e l f . c e r t . g e t _ s u b j e c t ( ) )         s e l f . c e r t . s e t _ p u b k e y ( s e l f . k e y )         s e l f . c e r t . a d d _ e x t e n s i o n s ( [                 X 5 0 9 E x t e n s i o n ( b " b a s i c C o n s t r a i n t s " ,   T r u e ,   b " C A : T R U E ,   p a t h l e n : 0 " ) ,                 X 5 0 9 E x t e n s i o n ( b " k e y U s a g e " ,   T r u e ,   b " k e y C e r t S i g n ,   c R L S i g n " ) ,                 X 5 0 9 E x t e n s i o n ( b " s u b j e c t K e y I d e n t i f i e r " ,   F a l s e ,   b " h a s h " ,   s u b j e c t = s e l f . c e r t ) ,         ] )         s e l f . c e r t . s i g n ( s e l f . k e y ,   " s h a 2 5 6 " )         w i t h   o p e n ( s e l f . c a _ f i l e _ p a t h ,   ' w b + ' )   a s   f :                 f . w r i t e ( d u m p _ p r i v a t e k e y ( F I L E T Y P E _ P E M ,   s e l f . k e y ) )                 f . w r i t e ( d u m p _ c e r t i f i c a t e ( F I L E T Y P E _ P E M ,   s e l f . c e r t ) )         w i t h   o p e n ( s e l f . c e r t _ f i l e _ p a t h ,   ' w b + ' )   a s   f :                 f . w r i t e ( d u m p _ c e r t i f i c a t e ( F I L E T Y P E _ P E M ,   s e l f . c e r t ) )
0 x 2   c h r o m e c h r o m e c h r o m e c h r o m e h t t p s :
0 x 3   h t t p s 访 h t t p s : / / w w w . b a i d u . c o m , h t t p s : / / w w w . b a i d u . c o m h t t p s n g i n x   m i r r o r n g i n x   m i r r o r n g i n x   m i r r o r n g i n x   m i r r o r 1 n g i n x m i r r o r b a c k e n d w e b s e r v e r n g i n x h t t p m i r r o r   2 m i r r o r h t t p p u s h n g i n x   m i r r o r m i r r o r n g i n x a ( 1 9 2 . 1 6 8 . 1 . 1 0 ) n g i n x 1 9 2 . 1 6 8 . 1 . 1 1 w e b s e r v e r w e b s e r v e r n g i n x h t t p h t t p p u s h a n g i n x w o r k e r _ p r o c e s s e s   1 ; e v e n t s   {     w o r k e r _ c o n n e c t i o n s   1 0 2 4 ; }
n g i n x . c o n f s e r v e r 8 0 s e r v e r 8 1 8 1 8 2 8 2 8 1 8 1 h t t p w e b 8 2 8 2 h t t p m i r r o r w e b s e r v e r ( p y t h o n B a s e H T T P R e q u e s t H a n d l e r w e b s e r v e r ) n g i n x h t t p c u r l   c u r l   h t t p : / / 1 2 7 . 0 . 0 . 1 / i n d e x . h t m l / v a r / l o g / n g i n x / m i r 1 . l o g / v a r / l o g / n g i n x / t e s t . l o g 访 n g i n x m i r r o r 8 2 8 2 8 1 8 1 h t t p t a i l 访 } h t t p   {     i n c l u d e         m i m e . t y p e s ;     d e f a u l t _ t y p e   a p p l i c a t i o n / o c t e t - s t r e a m ;     s e n d f i l e         o n ;     k e e p a l i v e _ t i m e o u t   6 5 ;     s e r v e r   {         l i s t e n   8 1 8 1 ;         m i r r o r _ r e q u e s t _ b o d y   o n ;         a c c e s s _ l o g   / v a r / l o g / n g i n x / t e s t . l o g ;         r o o t   h t m l / t e s t ;     }     s e r v e r   {         m i r r o r _ r e q u e s t _ b o d y   o n ;         l i s t e n   8 2 8 2 ;         a c c e s s _ l o g   / v a r / l o g / n g i n x / m i r 1 . l o g ;         r o o t   h t m l / m i r 1 ;     }     u p s t r e a m   b a c k e n d   {         s e r v e r   1 2 7 . 0 . 0 . 1 : 8 1 8 1 ;     }     u p s t r e a m   t e s t _ b a c k e n d 1   {         s e r v e r   1 9 2 . 1 6 8 . 1 . 1 1 : 9 0 0 8 ;         # b a c k e n d         # s e r v e r   1 9 2 . 1 6 8 . 1 . 1 2 : 9 0 0 8 ;         # s e r v e r   1 9 2 . 1 6 8 . 1 . 1 3 : 9 0 0 8 ;     }     s e r v e r   {         l i s t e n   8 0 ;         s e r v e r _ n a m e   l o c a l h o s t ;         m i r r o r _ r e q u e s t _ b o d y   o n ;         l o c a t i o n   /   {             m i r r o r   / m i r r o r 1 ;             p r o x y _ p a s s   h t t p : / / b a c k e n d ;         }         l o c a t i o n   =   / m i r r o r 1   {             # i n t e r n a l ;             p r o x y _ p a s s   h t t p : / / t e s t _ b a c k e n d 1 $ r e q u e s t _ u r i ;         }     } } c d   / u s r / s h a r e / n g i n x / h t m l / m k d i r   t e s t   m i r 1 e c h o   " t e s t   p a g e "   > t e s t / i n d e x . h t m l
a c c e s s m i r r o r h t t p m i r r o r h t t p d o _ G E T d o _ P O S T f r o m   h t t p . s e r v e r   i m p o r t   H T T P S e r v e r ,   B a s e H T T P R e q u e s t H a n d l e r i m p o r t   j s o n c l a s s   R e s q u e s t ( B a s e H T T P R e q u e s t H a n d l e r ) :         d e f   h a n d l e r ( s e l f ) :                 p r i n t ( " d a t a : " ,   s e l f . r f i l e . r e a d l i n e ( ) . d e c o d e ( ) )                 s e l f . w f i l e . w r i t e ( s e l f . r f i l e . r e a d l i n e ( ) )         d e f   d o _ G E T ( s e l f ) :                 p r i n t ( s e l f . r e q u e s t l i n e )                 p r i n t ( s e l f . h e a d e r s )                 d a t a   =   {                         " s t a t u s " : 2 0 0 ,                         " i n f o " : " t e s t "                 }                 s e l f . s e n d _ r e s p o n s e ( 2 0 0 )                 s e l f . s e n d _ h e a d e r ( ' 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 ' )                 s e l f . e n d _ h e a d e r s ( )                 s e l f . w f i l e . w r i t e ( j s o n . d u m p s ( d a t a ) . e n c o d e ( ) )         d e f   d o _ P O S T ( s e l f ) :                 p r i n t ( s e l f . r e q u e s t l i n e )                 p r i n t ( s e l f . h e a d e r s )                 r e q _ d a t a s   =   s e l f . r f i l e . r e a d ( i n t ( s e l f . h e a d e r s [ ' c o n t e n t - l e n g t h ' ] ) )                 p r i n t ( r e q _ d a t a s . d e c o d e ( ) )                 d a t a   =   {                         " s t a t u s " : 2 0 0 ,                         " i n f o " : " t e s t "                 }                 s e l f . s e n d _ r e s p o n s e ( 2 0 0 )                 s e l f . s e n d _ h e a d e r ( ' 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 ' )                 s e l f . e n d _ h e a d e r s ( )                 s e l f . w f i l e . w r i t e ( j s o n . d u m p s ( d a t a ) . e n c o d e ( ' u t f - 8 ' ) ) i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :         h o s t   =   ( ' 0 . 0 . 0 . 0 ' ,   9 0 0 8 )         s e r v e r   =   H T T P S e r v e r ( h o s t ,   R e s q u e s t )         p r i n t ( " S t a r t i n g   s e r v e r ,   l i s t e n   a t :   % s : % s "   %   h o s t )         s e r v e r . s e r v e _ f o r e v e r ( )
p o s t ( c u r l   - X   P O S T   - d   n a m e =   h t t p : / / l o c a l h o s t / a p i / b a s i c ) n g i n x   m i r r o r n g i n x n g i n x w e b 使 n g i n x ( n g i n x h t t p s ) n g i n x   m i r r o r
h t t p / h t t p s d o s ( p s : 5 0 0 5 0 0 h t t p w e b s e r v e r ) c h r o m e h t t p s / h t t p p u s h r e d i s s l a v e   w o r k e r s r e d i s p a y l o a d 便 s l e e p h t t p n g i n x   m i r r o r n g i n x   m i r r o r m i r r o r   s e r v e r a e a c u s   便 h t t p h t t p p u s h s l a v e   w o r k e r s r e d i s p a y l o a d n g i n x   m i r r o r n g i n x m i r r o r m i r r o r m i r r o r s l a v e   w o r k e r
p o s t t e s t p a y l o a d 便 1 0 x 1   2 0 x 0   a e a c u s p y t h o n
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则