[20708] 2017-04-16_Java代码审计基础(一)

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-18
2017-04-16_Java代码审计基础(一) J a v a ( ) L e m o n S e c   2 0 1 7 - 0 4 - 1 6 S Q L S Q L W e b S Q L S Q L 使 ? 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 < % @ p a g e i m p o r t = " j a v a . s q l . * " % > < % @   p a g e   l a n g u a g e = " j a v a " c o n t e n t T y p e = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " p a g e E n c o d i n g = " I S O - 8 8 5 9 - 1 " % > < ! D O C T Y P E   h t m l   P U B L I C   " - / / W 3 C / / D T D   H T M L   4 . 0 1   T r a n s i t i o n a l / / E N " " h t t p : / / w w w . w 3 . o r g / T R / h t m l 4 / l o o s e . d t d " > < h t m l > < h e a d > < m e t a   h t t p - e q u i v = " C o n t e n t - T y p e " c o n t e n t = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " > < t i t l e >   < / t i t l e > < / h e a d > < b o d y > < %                   S t r i n g   u s e r   =   r e q u e s t . g e t P a r a m e t e r ( " u s e r " ) ;                 S t r i n g   p a s s   =   r e q u e s t . g e t P a r a m e t e r ( " p a s s " ) ;                 C l a s s . f o r N a m e ( " c o m . m y s q l . j d b c . D r i v e r " ) ;                 C o n n e c t i o n   c o n   =   ( C o n n e c t i o n )                                                                                                                                             D r i v e r M a n a g e r . g e t C o n n e c t i o n ( " j d b c : m y s q l : / / l o c a l h o s t : 3 3 0 6 / m y d b " ,   " r o o t " , " " ) ;                 S t a t e m e n t   s t =   c o n . c r e a t e S t a t e m e n t ( ) ;                 R e s u l t S e t   r s = s t . e x e c u t e Q u e r y ( " s e l e c t   *   f r o m   u s e r s   w h e r e   u s e r n a m e = ' " + u s e r + " '   a n d   p a s s w o r d = ' " + p a s s + " '   l i m i t   0 , 1 " ) ;                 i f
使 S Q L 使 S Q L S Q L ? 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 i f ( r s . n e x t ( ) )                 {                                 o u t . p r i n t l n ( " L o g i n   s u c c e s s " ) ;                 }                 e l s e                 {                                 o u t . p r i n t l n ( " L o g i n   f a i l e d " ) ;                 } % > < % @ p a g e i m p o r t = " j a v a . s q l . * " % > < % @   p a g e   l a n g u a g e = " j a v a " c o n t e n t T y p e = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " p a g e E n c o d i n g = " I S O - 8 8 5 9 - 1 " % > < ! D O C T Y P E   h t m l   P U B L I C   " - / / W 3 C / / D T D   H T M L   4 . 0 1   T r a n s i t i o n a l / / E N " " h t t p : / / w w w . w 3 . o r g / T R / h t m l 4 / l o o s e . d t d " > < h t m l > < h e a d > < m e t a   h t t p - e q u i v = " C o n t e n t - T y p e " c o n t e n t = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " > < t i t l e > < / t i t l e > < / h e a d > < b o d y > < %           S t r i n g   u s e r   =   r e q u e s t . g e t P a r a m e t e r ( " u s e r " ) ;         S t r i n g   p a s s   =   r e q u e s t . g e t P a r a m e t e r ( " p a s s " ) ;         C l a s s . f o r N a m e ( " c o m . m y s q l . j d b c . D r i v e r " ) ; C o n n e c t i o n   c o n   =   ( C o n n e c t i o n )   D r i v e r M a n a g e r . g e t C o n n e c t i o n ( " j d b c : m y s q l : / / l o c a l h o s t : 3 3 0 6 / m y d b " ,   " r o o t " ,   " " ) ;        
2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 使 P r e p a r e d S t a t e m e n t 使 P r e p a r e d S t a t e m e n t S Q L 1 1 C S D N 使 J A V A ?         P r e p a r e d S t a t e m e n t   p s = ( P r e p a r e d S t a t e m e n t )   c o n . p r e p a r e S t a t e m e n t ( " s e l e c t   *   f r o m   u s e r s   w h e r e   u s e r n a m e = ?   a n d   p a s s w o r d = ?   l i m i t   0 , 1 " ) ;         p s . s e t S t r i n g ( 1 , u s e r ) ;         p s . s e t S t r i n g ( 2 , p a s s ) ;         R e s u l t S e t   r s = p s . e x e c u t e Q u e r y ( ) ;         i f ( r s . n e x t ( ) )         {                 o u t . p r i n t l n ( " L o g i n   s u c c e s s " ) ;         }         e l s e         {                 o u t . p r i n t l n ( " L o g i n   f a i l e d " ) ;         } % > < / b o d y >
1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 u s e r p a s s < % @ p a g e i m p o r t = " j a v a . s q l . * " % > < % @   p a g e   l a n g u a g e = " j a v a " c o n t e n t T y p e = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " p a g e E n c o d i n g = " I S O - 8 8 5 9 - 1 " % > < ! D O C T Y P E   h t m l   P U B L I C   " - / / W 3 C / / D T D   H T M L   4 . 0 1   T r a n s i t i o n a l / / E N " " h t t p : / / w w w . w 3 . o r g / T R / h t m l 4 / l o o s e . d t d " > < h t m l > < h e a d > < m e t a   h t t p - e q u i v = " C o n t e n t - T y p e " c o n t e n t = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " > < t i t l e > < / t i t l e > < / h e a d > < b o d y > < % S t r i n g   u s e r = r e q u e s t . g e t P a r a m e t e r ( " u s e r " ) ; S t r i n g   p a s s = r e q u e s t . g e t P a r a m e t e r ( " p a s s " ) ; C l a s s . f o r N a m e ( " c o m . m y s q l . j d b c . D r i v e r " ) ; C o n n e c t i o n   c o n = ( C o n n e c t i o n ) D r i v e r M a n a g e r . g e t C o n n e c t i o n ( " j d b c : m y s q l : / / l o c a l h o s t : 3 3 0 6 / m y d b " ,   " r o o t " , " " ) ; P r e p a r e d S t a t e m e n t   p s   =   ( P r e p a r e d S t a t e m e n t )   c o n . p r e p a r e S t a t e m e n t ( " i n s e r t   i n t o   u s e r s _ c r y p t   v a l u e s ( ? , ? ) " ) ; p s . s e t S t r i n g ( 1 , u s e r ) ; p s . s e t S t r i n g ( 1 , p a s s ) ; i n t r e s   =   p s . e x e c u t e U p d a t e ( ) ; i f ( r e s > 0 ) { o u t . p r i n t l n ( " R e g i s t e r   s u c c e s s " ) ; } e l s e { o u t . p r i n t l n ( " R e g i s t e r   f a i l e d " ) ; } % > < / b o d y >
? 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 < % @ p a g e i m p o r t = " j a v a . u t i l . C a l e n d a r " % > < % @ p a g e i m p o r t = " j a v a . t e x t . S i m p l e D a t e F o r m a t " % > < % @ p a g e i m p o r t = " j a v a . t e x t . D a t e F o r m a t " % > < % @ p a g e i m p o r t = " j a v a . m a t h . B i g I n t e g e r " % > < % @ p a g e i m p o r t = " j a v a . s e c u r i t y . M e s s a g e D i g e s t " % > < % @ p a g e i m p o r t = " j a v a . s q l . * " % > < % @   p a g e   l a n g u a g e = " j a v a " c o n t e n t T y p e = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " p a g e E n c o d i n g = " I S O - 8 8 5 9 - 1 " % > < ! D O C T Y P E   h t m l   P U B L I C   " - / / W 3 C / / D T D   H T M L   4 . 0 1   T r a n s i t i o n a l / / E N " " h t t p : / / w w w . w 3 . o r g / T R / h t m l 4 / l o o s e . d t d " > < h t m l > < h e a d > < m e t a   h t t p - e q u i v = " C o n t e n t - T y p e " c o n t e n t = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " > < t i t l e > < / t i t l e > < / h e a d > < b o d y > < %         S t r i n g   u s e r = r e q u e s t . g e t P a r a m e t e r ( " u s e r " ) ;         S t r i n g   p a s s = r e q u e s t . g e t P a r a m e t e r ( " p a s s " ) ;         D a t e F o r m a t   d a t e F o r m a t   =   n e w S i m p l e D a t e F o r m a t ( " y y y y / M M / d d   H H : m m : s s " ) ;         C a l e n d a r   c a l   =   C a l e n d a r . g e t I n s t a n c e ( ) ;         S t r i n g   r e g _ t i m e   =   ( d a t e F o r m a t . f o r m a t ( c a l . g e t T i m e ( ) ) ) . t o S t r i n g ( ) ;
1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 S t r i n g   r e g _ t i m e   =   ( d a t e F o r m a t . f o r m a t ( c a l . g e t T i m e ( ) ) ) . t o S t r i n g ( ) ;         S t r i n g   o r i g i n a l   =   p a s s + r e g _ t i m e ;         S t r i n g   s   =   p a s s + r e g _ t i m e ;         M e s s a g e D i g e s t   m   =   M e s s a g e D i g e s t . g e t I n s t a n c e ( " M D 5 " ) ;         m . u p d a t e ( s . g e t B y t e s ( ) , 0 , s . l e n g t h ( ) ) ;         S t r i n g   c a l c _ h a s h   =   n e w B i g I n t e g e r ( 1 , m . d i g e s t ( ) ) . t o S t r i n g ( 1 6 ) ;         i f ( c a l c _ h a s h . l e n g t h ( ) < 3 2 )         {                 c a l c _ h a s h   =   " 0 " + c a l c _ h a s h ;         }         C l a s s . f o r N a m e ( " c o m . m y s q l . j d b c . D r i v e r " ) ;         C o n n e c t i o n   c o n = ( C o n n e c t i o n ) D r i v e r M a n a g e r . g e t C o n n e c t i o n ( " j d b c : m y s q l : / / l o c a l h o s t : 3 3 0 6 / m y d b " ,   " r o o t " , " " ) ;         P r e p a r e d S t a t e m e n t   p s   =   ( P r e p a r e d S t a t e m e n t )   c o n . p r e p a r e S t a t e m e n t ( " i n s e r t   i n t o   u s e r s _ c r y p t   v a l u e s ( ? , ? , ? ) " ) ;         p s . s e t S t r i n g ( 1 , u s e r ) ;         p s . s e t S t r i n g ( 2 , c a l c _ h a s h ) ;         p s . s e t S t r i n g ( 3 , r e g _ t i m e ) ;         i n t r e s   =   p s . e x e c u t e U p d a t e ( ) ;         i f ( r e s > 0 )         {                 o u t . p r i n t l n ( " R e g i s t e r   s u c c e s s " ) ;         }
W e b C o o k i e 退 S e s s i o n ? 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 }         e l s e         {                 o u t . p r i n t l n ( " R e g i s t e r   f a i l e d " ) ;         } % > < / b o d y > < / h t m l > < % @ p a g e i m p o r t = " j a v a . s q l . * " % > < % @   p a g e   l a n g u a g e = " j a v a " c o n t e n t T y p e = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " p a g e E n c o d i n g = " I S O - 8 8 5 9 - 1 " % > < ! D O C T Y P E   h t m l   P U B L I C   " - / / W 3 C / / D T D   H T M L   4 . 0 1   T r a n s i t i o n a l / / E N " " h t t p : / / w w w . w 3 . o r g / T R / h t m l 4 / l o o s e . d t d " > < h t m l > < h e a d > < m e t a   h t t p - e q u i v = " C o n t e n t - T y p e " c o n t e n t = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " > < t i t l e >   < / t i t l e > < / h e a d > < b o d y > < %           S t r i n g   u s e r   =   r e q u e s t . g e t P a r a m e t e r ( " u s e r " ) ;         S t r i n g   p a s s   =   r e q u e s t . g e t P a r a m e t e r ( " p a s s " ) ;         C l a s s . f o r N a m e ( " c o m . m y s q l . j d b c . D r i v e r " ) ;         C o n n e c t i o n   c o n   =   ( C o n n e c t i o n )   D r i v e r M a n a g e r . g e t C o n n e c t i o n ( " j d b c : m y s q l : / / l o c a l h o s t : 3 3 0 6 / m y d b " ,   " r o o t " ,   " " ) ;         P r e p a r e d S t a t e m e n t   p s = ( P r e p a r e d S t a t e m e n t )   c o n . p r e p a r e S t a t e m e n t ( " s e l e c t   *   f r o m   u s e r s   w h e r e   u s e r n a m e = ?   a n d   p a s s w o r d = ?   l i m i t   0 , 1 "
2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 ? 1 2 " s e l e c t   *   f r o m   u s e r s   w h e r e   u s e r n a m e = ?   a n d   p a s s w o r d = ?   l i m i t   0 , 1 " ) ;         p s . s e t S t r i n g ( 1 , u s e r ) ;         p s . s e t S t r i n g ( 2 , p a s s ) ;         R e s u l t S e t   r s = p s . e x e c u t e Q u e r y ( ) ;         i f ( r s . n e x t ( ) )         {                 s e s s i o n . s e t A t t r i b u t e ( " u s e r a c c " ,   r s . g e t S t r i n g ( " u s e r " ) ) ;                 o u t . p r i n t l n ( " L o g i n   s u c c e s s " ) ;         }         e l s e         {                 o u t . p r i n t l n ( " L o g i n   f a i l e d " ) ;         } % > < / b o d y > < % @ p a g e i m p o r t = " j a v a . s q l . * " % > < % @   p a g e   l a n g u a g e = " j a v a " c o n t e n t T y p e = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " p a g e E n c o d i n g = " I S O - 8 8 5 9 - 1 " % > < ! D O C T Y P E   h t m l   P U B L I C   " - / / W 3 C / / D T D   H T M L   4 . 0 1   T r a n s i t i o n a l / / E N " " h t t p : / / w w w . w 3 . o r g / T R / h t m l 4 / l o o s e . d t d " > < h t m l > < h e a d > < m e t a   h t t p - e q u i v = " C o n t e n t - T y p e " c o n t e n t = " t e x t / h t m l ;   c h a r s e t = I S O - 8 8 5 9 - 1 " > < t i t l e >   < / t i t l e > < / h e a d > < b o d y > < %           S t r i n g   u s e r   =   r e q u e s t . g e t P a r a m e t e r ( " u s e r " ) ;        
3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 s e s s i o n s e e s i o n         S t r i n g   p a s s   =   r e q u e s t . g e t P a r a m e t e r ( " p a s s " ) ;         C l a s s . f o r N a m e ( " c o m . m y s q l . j d b c . D r i v e r " ) ;         C o n n e c t i o n   c o n   =   ( C o n n e c t i o n )   D r i v e r M a n a g e r . g e t C o n n e c t i o n ( " j d b c : m y s q l : / / l o c a l h o s t : 3 3 0 6 / u s e r d b " ,   " r o o t " ,   " " ) ;         P r e p a r e d S t a t e m e n t   p s = ( P r e p a r e d S t a t e m e n t )   c o n . p r e p a r e S t a t e m e n t ( " s e l e c t   *   f r o m   u s e r s   w h e r e   u s e r n a m e = ?   a n d   p a s s w o r d = ?   l i m i t   0 , 1 " ) ;         p s . s e t S t r i n g ( 1 , u s e r ) ;         p s . s e t S t r i n g ( 2 , p a s s ) ;         R e s u l t S e t   r s = p s . e x e c u t e Q u e r y ( ) ;         i f ( r s . n e x t ( ) )         {                 s e s s i o n . i n v a l i d a t e ( ) ;                 r e q u e s t . g e t S e s s i o n ( t r u e ) ;                 s e s s i o n . s e t A t t r i b u t e ( " u s e r a c c " ,   r s . g e t S t r i n g ( " u s e r " ) ) ;                 o u t . p r i n t l n ( " L o g i n   s u c c e s s " ) ;         }         e l s e         {                 o u t . p r i n t l n ( " L o g i n   f a i l e d " ) ;         } % > < / b o d y >

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

本版积分规则