[19491] 2019-06-04_ThinkPHP5丨远程代码执行漏洞-动态分析

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-18
2019-06-04_ThinkPHP5丨远程代码执行漏洞-动态分析 T h i n k P H P 5 - i   2 0 1 9 - 0 6 - 0 4 T h i n k P H P W E B T h i n k P H P 5 . 0 5 . 1 i 7 0 1 h t t p : / / w w w . t h i n k p h p . c n / d o w n l o a d / 9 6 7 . h t m l W e b W i n d o w s   1 0   x 6 4 + P H P S t u d y   2 0 0 1 8
p h p s t o r m + x d e b u g ( v s c o d e p h p s t o r m ) B r e a k   a t   f i r s t   l i n e   i n   P H P   s c r i p t p h p s t u d y 0 2
0 3 B r e a k   a t   f i r s t   l i n e   i n   P H P   s c r i p t F 7 F 8 F 7 F a c a d e A p p . p h p F 8
r o u t e C h e c k F 7 F 7
F 8 , p a t h i n f o (   ) F 7 · p a t h i n f o $ t h i s - > c o n f i g - > g e t ( ' v a r _ p a t h i n f o ' ) c o n f i g / a p p . p h p
$ _ G E T [ ' s ' ] p a t h i n f o p a t h i n f o $ _ G E T [ ' s ' ] r e t u r n   $ t h i s - > p a t h i n f o ;         p u b l i c   f u n c t i o n   p a t h i n f o ( )         {                 i f   ( i s _ n u l l ( $ t h i s - > p a t h i n f o ) )   {                         i f   ( i s s e t ( $ _ G E T [ $ t h i s - > c o n f i g - > g e t ( ' v a r _ p a t h i n f o ' ) ] ) )   {                                 / /   U R L                                 $ _ S E R V E R [ ' P A T H _ I N F O ' ]   =   $ _ G E T [ $ t h i s - > c o n f i g - > g e t ( ' v a r _ p a t h i n f o ' ) ] ;                                 u n s e t ( $ _ G E T [ $ t h i s - > c o n f i g - > g e t ( ' v a r _ p a t h i n f o ' ) ] ) ;                         }   e l s e i f   ( $ t h i s - > i s C l i ( ) )   {                                 / /   C L I   i n d e x . p h p   m o d u l e / c o n t r o l l e r / a c t i o n / p a r a m s / . . .                                 $ _ S E R V E R [ ' P A T H _ I N F O ' ]   =   i s s e t ( $ _ S E R V E R [ ' a r g v ' ] [ 1 ] )   ?   $ _ S E R V E R [ ' a r g v ' ] [ 1 ]   :   ' ' ;                         }                         / /   P A T H I N F O                         i f   ( ! i s s e t ( $ _ S E R V E R [ ' P A T H _ I N F O ' ] ) )   {                                 f o r e a c h   ( $ t h i s - > c o n f i g - > g e t ( ' p a t h i n f o _ f e t c h ' )   a s   $ t y p e )   {                                         i f   ( ! e m p t y ( $ _ S E R V E R [ $ t y p e ] ) )   {                                                 $ _ S E R V E R [ ' P A T H _ I N F O ' ]   =   ( 0   = = =   s t r p o s ( $ _ S E R V E R [ $ t y p e ] ,   $ _ S E R V E R [ ' S C R I P T _ N A M E ' ] ) )   ?                                                 s u b s t r ( $ _ S E R V E R [ $ t y p e ] ,   s t r l e n ( $ _ S E R V E R [ ' S C R I P T _ N A M E ' ] ) )   :   $ _ S E R V E R [ $ t y p e ] ;                                                 b r e a k ;                                         }                                 }                         }                         $ t h i s - > p a t h i n f o   =   e m p t y ( $ _ S E R V E R [ ' P A T H _ I N F O ' ] )   ?   ' / '   :   l t r i m ( $ _ S E R V E R [ ' P A T H _ I N F O ' ] ,   ' / ' ) ;                 }                 r e t u r n   $ t h i s - > p a t h i n f o ;         }
F 7 $ p a t h i n f o $ t h i s - > p a t h F 7 c h e c k U r l D i s p a t c h $ u r l F 8 $ u r l $ a c t i o n
F 7 A p p . p h p $ d i s p a t c h d i s p a t c h F 7 $ d i s p a t c h $ t h i s - > d i s p a t c h , d i s p a t c h p a r s e U r l $ t h i s - > a c t i o n p a r s e U r l
F 7 A p p . p h p , $ d a t a   =   $ d i s p a t c h - > r u n (   ) ; F 7 , $ u r l t h i n k p h p / l i b r a r y / t h i n k / r o u t e / D i s p a t c h . p h p $ t h i s - > a c t i o n   =   $ a c t i o n ;
F 7 p a r s e U r l F 8 F 7 p a r s e U r l P a t h , / [ / / ] $ p a t h
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则