[24121] 2015-07-23_PHP安全编程建议

文档创建者:s7ckTeam
浏览次数:3
最后更新:2025-01-18
2015-07-23_PHP安全编程建议 P H P     i c t l y h   L i n u x   2 0 1 5 - 0 7 - 2 3   P H P   使 西   w e b   使   J a v a S c r i p t     1     5     J a v a S c r i p t     P H P       P H P   X S S   M y S Q L   便   r e g i s t e r _ g l o b a l s   P H P   4 . 2     r e g i s t e r _ g l o b a l s   p h p . i n i     r e g i s t e r _ g l o b a l s     O f f   便   p r o c e s s . p h p     p r o c e s s . p h p     P H P     $ u s e r n a m e     $ _ P O S T [ ' u s e r n a m e ' ]   $ _ G E T [ ' u s e r n a m e ' ]   访 P H P     G E T     P O S T     $ a u t h o r i z e d     t r u e   a u t h e n t i c a t e d _ u s e r ( )   $ a u t h o r i z e d     r e g i s t e r _ g l o b a l s   G E T     a u t h o r i z e d = 1     p o s t     w e b     $ _ P O S T     G E T     $ _ G E T     $ _ F I L E S     $ _ R E Q U E S T   1 .   r e g i s t e r _ g l o b a l s   =   O f f   1 .   < i n p u t   n a m e = " u s e r n a m e "   t y p e = " t e x t "   s i z e = " 1 5 "   m a x l e n g t h = " 6 4 " > 1 .   < ? p h p 2 .   / /   D e f i n e   $ a u t h o r i z e d   =   t r u e   o n l y   i f   u s e r   i s   a u t h e n t i c a t e d 3 .   i f   ( a u t h e n t i c a t e d _ u s e r ( ) )   { 4 .           $ a u t h o r i z e d   =   t r u e ; 5 .   } 6 .   ? >
  P O S T   访   u s e r n a m e   使   $ _ P O S T [ ' u s e r n a m e ' ]   u s e r n a m e     U R L   使 $ _ G E T [ ' u s e r n a m e ' ]   $ _ R E Q U E S T [ ' u s e r n a m e ' ] $ _ R E Q U E S T     $ _ G E T $ _ P O S T   $ _ C O O K I E     P H P   使   c o o k i e P O S T   G E T   P H P   r e g i s t e r _ g l o b a l s     o f f s a f e _ m o d e     o f f e r r o r _ r e p o r t i n g     o f f 使 L C T T     o n s y s t e m ( ) e x e c ( ) p a s s t h r u ( ) s h e l l _ e x e c ( ) p r o c _ o p e n ( )   p o p e n ( ) o p e n _ b a s e d i r     / t m p 便   w e b   便 访 e x p o s e _ p h p     o f f   A p a c h e     P H P   a l l o w _ u r l _ f o p e n     o f f 访 - a l l o w _ u r l _ i n c l u d e     o f f 访   H T T P   使 使   s y s t e m ( )   - S Q L     P H P     M y S Q L     S Q L     w e b   使   M y S Q L     S Q L     S Q L     $ p r o d u c t   使   S Q L   使   P H P     $ s q l     M y S Q L     P H P     M y S Q L     m y s q l _ q u e r y ( )     S Q L   使   m y s q l _ r e a l _ e s c a p e _ s t r i n g ( )   M a g i c   Q u o t e s   M y S Q L     M y S Q L     M y S Q L     M y S Q L   访 访 访 1 .   < ? p h p 2 .   $ p o s t _ v a l u e   =   $ _ P O S T [ ' p o s t _ v a l u e ' ] ; 3 .   $ g e t _ v a l u e   =   $ _ G E T [ ' g e t _ v a l u e ' ] ; 4 .   $ s o m e _ v a r i a b l e   =   $ _ R E Q U E S T [ ' s o m e _ v a l u e ' ] ;   5 .   ? >     1 .   $ s q l   =   " s e l e c t   *   f r o m   p i n f o   w h e r e   p r o d u c t   =   ' $ p r o d u c t ' " ; 1 .   $ s q l   =   ' S e l e c t   *   f r o m   p i n f o   w h e r e   p r o d u c t   =   ' " '   2 .                 m y s q l _ r e a l _ e s c a p e _ s t r i n g ( $ p r o d u c t )   .   ' " ' ; 1 .   3 9 ' ;   D R O P   p i n f o ;   S E L E C T   ' F O O   1 .   s e l e c t   p r o d u c t   f r o m   p i n f o   w h e r e   p r o d u c t   =   ' 3 9 ' ;   D R O P   p i n f o ;   S E L E C T   ' F O O '   1 .   s e l e c t   *   f r o m   p i n f o   w h e r e   p r o d u c t   =   ' 3 9 ' 2 .   D R O P   p i n f o 3 .   S E L E C T   ' F O O '  
  X S S   X S S   X S S     J a v a S c r i p t   便   c o o k i e   使   c o o k i e     s e s s i o n   访 - 使   c o o k i e     s e s s i o n   I D   M y S Q L   X S S   Y a h o o e B a y A p p l e   M i c r o s o f t     X S S     P H P 使   P H P     X S S   线 使   H T M L     [ b ]     [ l i n k t o ] 使   S a f e H T M L   H T M L     H T M L     H T M L     H T M L   H T M L   B o l d   T e x t   t r a n s f o r m _ H T M L ( )     H T M L   t r a n s f o r m _ H T M L ( )     h t m l e n t i t i e s ( )     < >   &     & l t ; & g t ;   & a m p ;   X S S     U T F - 8     A S C I I     U R L     G E T     t r a n s f o r m _ H T M L ( )     #     %     U T F - 8   西   $ l e n g t h   使   S a f e H T M L 使   J a v a S c r i p t     H T M L   P i x e l A p e s     S a f e H T M L   S a f e H T M L     H T M L   H T M L S a x   使   S a f e H T M L 1 .     h t t p : / / p i x e l - a p e s . c o m / s a f e h t m l / ? p a g e = s a f e h t m l     S a f e H T M L 2 .     S a f e H T M L     H T M L S a x   西 3 .   S a f e H T M L   s a f e h t m l . p h p 4 .     $ s a f e h t m l     S a f e H T M L   1 .   f u n c t i o n   t r a n s f o r m _ H T M L ( $ s t r i n g ,   $ l e n g t h   =   n u l l )   { 2 .   / /   H e l p s   p r e v e n t   X S S   a t t a c k s 3 .           / /   R e m o v e   d e a d   s p a c e . 4 .           $ s t r i n g   =   t r i m ( $ s t r i n g ) ; 5 .           / /   P r e v e n t   p o t e n t i a l   U n i c o d e   c o d e c   p r o b l e m s . 6 .           $ s t r i n g   =   u t f 8 _ d e c o d e ( $ s t r i n g ) ; 7 .           / /   H T M L i z e   H T M L - s p e c i f i c   c h a r a c t e r s . 8 .           $ s t r i n g   =   h t m l e n t i t i e s ( $ s t r i n g ,   E N T _ N O Q U O T E S ) ; 9 .           $ s t r i n g   =   s t r _ r e p l a c e ( " # " ,   " & # 3 5 ; " ,   $ s t r i n g ) ; 1 0 .           $ s t r i n g   =   s t r _ r e p l a c e ( " % " ,   " & # 3 7 ; " ,   $ s t r i n g ) ; 1 1 .           $ l e n g t h   =   i n t v a l ( $ l e n g t h ) ; 1 2 .           i f   ( $ l e n g t h   >   0 )   { 1 3 .                   $ s t r i n g   =   s u b s t r ( $ s t r i n g ,   0 ,   $ l e n g t h ) ; 1 4 .           } 1 5 .           r e t u r n   $ s t r i n g ; 1 6 .   }   1 .   < S T R O N G > B o l d   T e x t < / S T R O N G > 1 .   < S T R O N G > B o l d   T e x t < / S T R O N G >   1 .   < a   h r e f = " h t t p : / / h o s t / a . p h p ? v a r i a b l e = % 2 2 % 3 e   % 3 c % 5 3 % 4 3 % 5 2 % 4 9 % 5 0 % 5 4 % 3 e % 4 4 % 6 f % 7 3 % 6 f % 6 d % 6 5 % 7 4 % 6 8 % 6 9 % 6 e % 6 7 % 6 d % 6 1 % 6 c % 6 9 % 6 3 % 6 9 % 6 f % 7 5 % 7 3 % 3 c % 2 f % 5 3 % 4 3 % 5 2 % 4 9 % 5 0 % 5 4 % 3 e " >   1 .   < a   h r e f = " h t t p : / / h o s t / a . p h p ? v a r i a b l e = " >   < S C R I P T > D o s o m e t h i n g m a l i c i o u s < / S C R I P T > i n c l u d e
5 .     $ s a f e h t m l - > p a r s e ( )   使   $ s a f e h t m l - > p a r s e ( )     X S S   S a f e H T M L   X S S   使   R S n a k e     X S S   h t t p : / / h a . c k e r s . o r g / x s s . h t m l   使 S a f e H T M L     X S S   X S S     h t t p : / / n a m b . l a / p o p u l a r / t e c h . h t m l   M y S p a c e     J a v a S c r i p t   X S S   /   U n i x   1 .   2 .   3 .   4 .   5 .   访   V s   使   m d 5 ( )     R S A     M D 5   3 2     3 2     m d 5     3 2     M D 5   线   M D 5     0 6 d 8 0 e b 0 c 5 0 b 4 9 a 5 0 9 b 4 9 f 2 4 2 4 e 8 c 8 0 5     d o g   M D 5   使   M D 5     6   8   M c r y p t     M D 5     M c r y p t     P H P   M c r y p t     3 0   使 使   M c r y p t   1 .   < ? p h p 2 .   / *   I f   y o u ' r e   s t o r i n g   t h e   H T M L S a x 3 . p h p   i n   t h e   / c l a s s e s   d i r e c t o r y ,   a l o n g 3 .         w i t h   t h e   s a f e h t m l . p h p   s c r i p t ,   d e f i n e   X M L _ H T M L S A X 3   a s   a   n u l l   s t r i n g .   * / 4 .   d e f i n e ( X M L _ H T M L S A X 3 ,   ' ' ) ; 5 .   / /   I n c l u d e   t h e   c l a s s   f i l e . 6 .   r e q u i r e _ o n c e ( ' c l a s s e s / s a f e h t m l . p h p ' ) ; 7 .   / /   D e f i n e   s o m e   s a m p l e   b a d   c o d e . 8 .   $ d a t a   =   " T h i s   d a t a   w o u l d   r a i s e   a n   a l e r t   < s c r i p t > a l e r t ( ' X S S   A t t a c k ' ) < / s c r i p t > " ; 9 .   / /   C r e a t e   a   s a f e h t m l   o b j e c t . 1 0 .   $ s a f e h t m l   =   n e w   s a f e h t m l ( ) ; 1 1 .   / /   P a r s e   a n d   s a n i t i z e   t h e   d a t a . 1 2 .   $ s a f e _ d a t a   =   $ s a f e h t m l - > p a r s e ( $ d a t a ) ; 1 3 .   / /   D i s p l a y   r e s u l t . 1 4 .   e c h o   ' T h e   s a n i t i z e d   d a t a   i s   < b r   / > '   .   $ s a f e _ d a t a ; 1 5 .   ? > 1 .   f u n c t i o n   h a s h _ i s h ( $ s t r i n g )   { 2 .           r e t u r n   m d 5 ( $ s t r i n g ) ; 3 .   } 1 .   < ? p h p
m c r y p t ( )   使   M C R Y P T _ S E R P E N T _ 2 5 6   M C R Y P T _ T W O F I S H 1 9 2 M C R Y P T _ R C 2 M C R Y P T _ D E S M C R Y P T _ L O K I 9 7 使 E l e c t r o n i c   C o d e b o o k   C i p h e r   F e e d b a c k 使   M C R Y P T _ M O D E _ C B C     -   I V   使   I V   使   m c r y p t _ g e t _ k e y _ s i z e ( )     m c r y p t _ g e t _ b l o c k _ s i z e ( )   s u b s t r ( )   M c r y p t     0   使 使 m d 5 ( )   西 访 M c r y p t   使   M y S Q L   使   b a s e 6 4 e n c o d e ( )     b a s e 6 4 d e c o d e ( )     S Q L   便 使   M D 5   访 1 .   < ? p h p 2 .   $ d a t a   =   " S t u f f   y o u   w a n t   e n c r y p t e d " ; 3 .   $ k e y   =   " S e c r e t   p a s s p h r a s e   u s e d   t o   e n c r y p t   y o u r   d a t a " ; 4 .   $ c i p h e r   =   " M C R Y P T _ S E R P E N T _ 2 5 6 " ; 5 .   $ m o d e   =   " M C R Y P T _ M O D E _ C B C " ; 6 .   f u n c t i o n   e n c r y p t ( $ d a t a ,   $ k e y ,   $ c i p h e r ,   $ m o d e )   { 7 .   / /   E n c r y p t   d a t a 8 .   r e t u r n   ( s t r i n g ) 9 .                           b a s e 6 4 _ e n c o d e 1 0 .                                   ( 1 1 .                                   m c r y p t _ e n c r y p t 1 2 .                                           ( 1 3 .                                           $ c i p h e r , 1 4 .                                           s u b s t r ( m d 5 ( $ k e y ) , 0 , m c r y p t _ g e t _ k e y _ s i z e ( $ c i p h e r ,   $ m o d e ) ) , 1 5 .                                           $ d a t a , 1 6 .                                           $ m o d e , 1 7 .                                           s u b s t r ( m d 5 ( $ k e y ) , 0 , m c r y p t _ g e t _ b l o c k _ s i z e ( $ c i p h e r ,   $ m o d e ) ) 1 8 .                                           ) 1 9 .                                   ) ; 2 0 .   } 2 1 .   f u n c t i o n   d e c r y p t ( $ d a t a ,   $ k e y ,   $ c i p h e r ,   $ m o d e )   { 2 2 .   / /   D e c r y p t   d a t a 2 3 .           r e t u r n   ( s t r i n g ) 2 4 .                           m c r y p t _ d e c r y p t 2 5 .                                   ( 2 6 .                                   $ c i p h e r , 2 7 .                                   s u b s t r ( m d 5 ( $ k e y ) , 0 , m c r y p t _ g e t _ k e y _ s i z e ( $ c i p h e r ,   $ m o d e ) ) , 2 8 .                                   b a s e 6 4 _ d e c o d e ( $ d a t a ) , 2 9 .                                   $ m o d e , 3 0 .                                   s u b s t r ( m d 5 ( $ k e y ) , 0 , m c r y p t _ g e t _ b l o c k _ s i z e ( $ c i p h e r ,   $ m o d e ) ) 3 1 .                                   ) ; 3 2 .   } 3 3 .   ? > 1 .   < ? p h p 2 .     f u n c t i o n   m a k e _ p a s s w o r d ( $ n u m _ c h a r s )   { 3 .           i f   ( ( i s _ n u m e r i c ( $ n u m _ c h a r s ) )   & & 4 .                   ( $ n u m _ c h a r s   >   0 )   & & 5 .                   ( !   i s _ n u l l ( $ n u m _ c h a r s ) ) )   { 6 .                   $ p a s s w o r d   =   ' ' ; 7 .                   $ a c c e p t e d _ c h a r s   =   ' a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0 ' ; 8 .                   / /   S e e d   t h e   g e n e r a t o r   i f   n e c e s s a r y . 9 .                   s r a n d ( ( ( i n t ) ( ( d o u b l e ) m i c r o t i m e ( ) * 1 0 0 0 0 0 3 ) )   ) ; 1 0 .                   f o r   ( $ i = 0 ;   $ i < = $ n u m _ c h a r s ;   $ i + + )   { 1 1 .                           $ r a n d o m _ n u m b e r   =   r a n d ( 0 ,   ( s t r l e n ( $ a c c e p t e d _ c h a r s )   - 1 ) ) ;
使 m a k e _ p a s s w o r d ( )     $ n u m _ c h a r s     $ a c c e p t e d _ c h a r s   使   0     9 使 L C T T   便   0   O 1     l   P H P   4 . 2     $ n u m _ c h a r s     $ a c c e p t e d _ c h a r s     0     $ a c c e p t e d _ c h a r s   $ p a s s w o r d   $ p a s s w o r d   T h e   C o d e   P r o j e c t   O p e n   L i c e n s e   ( C P O L )   v i a :   h t t p : / / w w w . c o d e p r o j e c t . c o m / A r t i c l e s / 3 6 3 8 9 7 / P H P - S e c u r i t y S a m a r R i z v i   i c t l y h   w x y   L C T T   L i n u x   1 2 .                           $ p a s s w o r d   . =   $ a c c e p t e d _ c h a r s [ $ r a n d o m _ n u m b e r ]   ; 1 3 .                   } 1 4 .                   r e t u r n   $ p a s s w o r d ; 1 5 .             } 1 6 .   } 1 7 .   ? >   1 .   < ? p h p 2 .   $ f i f t e e n _ c h a r a c t e r _ p a s s w o r d   =   m a k e _ p a s s w o r d ( 1 5 ) ; 3 .   ? >  

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则