[19601] 2020-04-23_经验分享丨JAVA审计中常见的加密错误,你知道几个?

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-18
2020-04-23_经验分享丨JAVA审计中常见的加密错误,你知道几个? J A V A i   2 0 2 0 - 0 4 - 2 3 i l i n u x J A V A R S A J A V A D e d e C M S - V 5 . 7
广 S p r i n g   b o o t a p p l i c a t i o n . p r o p e r t i e s ( C E K ) ( K E K ) A p p l e A p p l e A P I 使 0 I V C B C C B C 0 使 使 I V 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 ( u r l ,   " s c o t t " ,   " t i g e r " ) ; a p p l i c a t i o n . p r o p e r t i e s s p r i n g . d a t a s o u r c e . d r i v e r - c l a s s - n a m e = c o m . m y s q l . c j . j d b c . D r i v e r s p r i n g . d a t a s o u r c e . u r l = j d b c : m y s q l : / / 1 7 2 . 1 6 . 9 9 . 9 9 : 3 3 0 6 / d b k z j ? c h a r a c t e r E n c o d i n g = u t f - 8 s p r i n g . d a t a s o u r c e . u s e r n a m e = r o o t s p r i n g . d a t a s o u r c e . p a s s w o r d = E N C ( U G F T m e t + P x u h y v l O Q b P J G R C V y 7 m T B r P w ) b y t e [ ]   D E S I V   =   { 0 x 1 2 , 0 x 3 4 , 0 x 5 6 , 0 x 7 8 , ( b y t e ) 0 x 9 0 , ( b y t e ) 0 x A B , ( b y t e ) 0 x C D , ( b y t e ) 0 x E F } ; I v P a r a m e t e r S p e c   i v 1   =   n e w   I v P a r a m e t e r S p e c ( D E S I V ) ; / /  
使 A E S E B C C F B C B C 使 C B C I V 使 I v P a r a m e t e r S p e c i v S e c u r e R a n d o m   s e c u r e R a n d o m   =   n e w   S e c u r e R a n d o m ( ) ; b y t e [ ]   i v   =   s e c u r e R a n d o m . g e n e r a t e S e e d ( 1 6 ) ; I v P a r a m e t e r S p e c   i v 1   =   n e w   I v P a r a m e t e r S p e c ( i v ) ; b y t e [ ]   D E S I V 1   =   i v 1 . g e t I V ( ) ; / / 1 b y t e [ ]   D E S I V 2   =   i v 2 . g e t I V ( ) ; / / 2 S e c r e t K e y S p e c   k e y   =   n e w   S e c r e t K e y S p e c ( g e t K e y ( d e c r y p t K e y ) ,   " D E S " ) ; C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( " D E S / E C B / N o P a d d i n g " ) ; c i p h e r . i n i t ( C i p h e r . D E C R Y P T _ M O D E ,   k e y ) ; / / D E S E C B b y t e   d e c r y p t e d D a t a [ ]   =   c i p h e r . d o F i n a l ( C o n v e r t U t i l . h e x S t r i n g T o B y t e ( d e c r y p t S t r i n g ) ) ; r e s u l t   =   n e w   S t r i n g ( d e c r y p t e d D a t a ) ;
M D 5 M D 5 1 0 I D E A 使 M D 5 M D 5 M D 5 D E S 3 D E S R C 4 ( ) R C 5 R C 4 线 W E P ( 2 0 1 0 ) R C 4 R C 4 ( W I F I 1 5 ) 使 M D 5 S H A 1 S H A - 2 5 6 S H A - 5 1 2 . . . S e c r e t K e y S p e c   k e y   =   n e w   S e c r e t K e y S p e c ( g e t K e y ( d e c r y p t K e y ) ,   " D E S " ) ; C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( " A E S / C B C / P K C S 5 P a d d i n g " ) ; b y t e [ ]   i v   =   s e c u r e R a n d o m . g e n e r a t e S e e d ( 1 6 ) ; I v P a r a m e t e r S p e c   i v 1   =   n e w   I v P a r a m e t e r S p e c ( i v ) ; b y t e [ ]   D E S I V 1   =   i v 1 . g e t I V ( ) ; / / 1 c i p h e r . i n i t ( C i p h e r . D E C R Y P T _ M O D E ,   k e y , D E S I V 1 ) ; / / D E S C B C b y t e   d e c r y p t e d D a t a [ ]   =   c i p h e r . d o F i n a l ( C o n v e r t U t i l . h e x S t r i n g T o B y t e ( d e c r y p t S t r i n g ) ) ; r e s u l t   =   n e w   S t r i n g ( d e c r y p t e d D a t a ) ; . . . M e s s a g e D i g e s t   m d   =   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 D 5 m d . u p d a t e ( p a s s w o r d T o H a s h . g e t B y t e s ( ) ) ; b y t e [ ]   b y t e s   =   m d . d i g e s 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 ( ) ; f o r ( i n t   i = 0 ;   i <   b y t e s . l e n g t h   ; i + + ) { s b . a p p e n d ( I n t e g e r . t o S t r i n g ( ( b y t e s [ i ]   &   0 x f f )   +   0 x 1 0 0 ,   1 6 ) . s u b s t r i n g ( 1 ) ) ; } g e n e r a t e d P a s s w o r d   =   s b . t o S t r i n g ( ) ;
1 2 8 R S A D A S D H R S A 使 5 1 2 1 0 2 4 2 0 4 8 线 E C C 线 2 0 4 8 线 E C C 2 5 6 R S A ( 3 0 7 2 ) M e s s a g e D i g e s t   m d   =   M e s s a g e D i g e s t . g e t I n s t a n c e ( " S H A - 2 5 6 " ) ; / / S H A - 2 5 6 m d . u p d a t e ( p a s s w o r d T o H a s h . g e t B y t e s ( ) ) ; b y t e [ ]   b y t e s   =   m d . d i g e s 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 ( ) ; f o r ( i n t   i = 0 ;   i <   b y t e s . l e n g t h   ; i + + ) { s b . a p p e n d ( I n t e g e r . t o S t r i n g ( ( b y t e s [ i ]   &   0 x f f )   +   0 x 1 0 0 ,   1 6 ) . s u b s t r i n g ( 1 ) ) ; } K e y P a i r G e n e r a t o r   k e y P a i r G e n   =   K e y P a i r G e n e r a t o r . g e t I n s t a n c e ( " R S A " ) ;     / / R S A k e y P a i r G e n . i n i t i a l i z e ( 2 5 6 , n e w   S e c u r e R a n d o m ( ) ) ;     / / 9 6 - 4 0 9 6 K e y P a i r   k e y P a i r   =   k e y P a i r G e n . g e n e r a t e K e y P a i r ( ) ;     / /   k e y P a i r     R S A P r i v a t e K e y   p r i v a t e K e y   =   ( R S A P r i v a t e K e y )   k e y P a i r . g e t P r i v a t e ( ) ;       / /       R S A P u b l i c K e y   p u b l i c K e y   =   ( R S A P u b l i c K e y )   k e y P a i r . g e t P u b l i c ( ) ;     / /       S t r i n g   p u b l i c K e y S t r i n g   =   n e w   S t r i n g ( B a s e 6 4 . e n c o d e B a s e 6 4 ( p u b l i c K e y . g e t E n c o d e d ( ) ) ) ;     S t r i n g   p r i v a t e K e y S t r i n g   =   n e w   S t r i n g ( B a s e 6 4 . e n c o d e B a s e 6 4 ( ( p r i v a t e K e y . g e t E n c o d e d ( ) ) ) ) ; k e y M a p . p u t ( 0 , p u b l i c K e y S t r i n g ) ;     / / 0 k e y M a p . p u t ( 1 , p r i v a t e K e y S t r i n g ) ;     / / 1
使 j a v a . u t i l . R a n d o m W e b 使 S e c u r e R a n d o m 2 ^ 3 2 ( 4 0 亿 ) r e s u l t t o k e n K e y P a i r G e n e r a t o r   k e y P a i r G e n e r a t o r   =   K e y P a i r G e n e r a t o r . g e t I n s t a n c e ( E C C E n u m . A L G O R I T H M . v a l u e ( ) ,                                 E C C E n u m . P R O V I D E R . v a l u e ( ) ) ; k e y P a i r G e n e r a t o r . i n i t i a l i z e ( 2 5 6 ,   n e w   S e c u r e R a n d o m ( ) ) ; / /   线 2 5 6 K e y P a i r   k p   =   k e y P a i r G e n e r a t o r . g e n e r a t e K e y P a i r ( ) ; E C P u b l i c K e y   p u b l i c K e y   =   ( E C P u b l i c K e y )   k p . g e t P u b l i c ( ) ; E C P r i v a t e K e y   p r i v a t e K e y   =   ( E C P r i v a t e K e y )   k p . g e t P r i v a t e ( ) ; M a p < S t r i n g , S t r i n g >   m a p   =   n e w   H a s h M a p < > ( ) ; m a p . p u t ( E C C E n u m . P R I V A T E _ K E Y . v a l u e ( ) ,   B A S E 6 4 E n c o d e r . e n c o d e B u f f e r ( p r i v a t e K e y . g e t E n c o d e d ( ) ) ) ; m a p . p u t ( E C C E n u m . P U B L I C _ K E Y . v a l u e ( ) ,   B A S E 6 4 E n c o d e r . e n c o d e B u f f e r ( p u b l i c K e y . g e t E n c o d e d ( ) ) ) ; S t r i n g   t o k e n   =   ( n e w   R a n d o m ( ) . n e x t I n t ( 9 9 9 9 9 ) )   +   " " ;     M e s s a g e D i g e s t   m d   =   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 " ) ;     b y t e   m d 5 [ ]   =     m d . d i g e s t ( t o k e n . g e t B y t e s ( ) ) ;     B A S E 6 4 E n c o d e r   e n c o d e r   =   n e w   B A S E 6 4 E n c o d e r ( ) ;     r e s u l t   =   e n c o d e r . e n c o d e ( m d 5 ) ;    
使 N a v i c a t 使 R S A S t r i n g B u i l d e r   b u f   =   n e w   S t r i n g B u i l d e r ( ) ; S e c u r e R a n d o m   s r   =   n e w   S e c u r e R a n d o m ( ) ; f o r (   i n t   i = 0 ;   i < 6 ;   i + +   )   { / /   l o g 2 ( 5 2 ^ 6 ) = 3 4 . 2 0 . . .   s o ,   t h i s   i s   a b o u t   3 2 b i t   s t r o n g .                 b o o l e a n   u p p e r   =   s r . n e x t B o o l e a n ( ) ;                 c h a r   c h   =   ( c h a r ) ( s r . n e x t I n t ( 2 6 )   +   ' a ' ) ;                 i f ( u p p e r )       c h = C h a r a c t e r . t o U p p e r C a s e ( c h ) ;                 b u f . a p p e n d ( c h ) ; } r e s u l t   =   b u f . t o S t r i n g ( ) ; S t r i n g   A C T I V E C O D E _ R A W   =   " 2 0 2 0 - 0 4 - 2 1 "   +   " W W W . H A C K E R . C O M " ;     M e s s a g e D i g e s t   m d   =   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 " ) ;     b y t e   m d 5 [ ]   =     m d . d i g e s t ( A C T I V E C O D E _ R A W . g e t B y t e s ( ) ) ;     B A S E 6 4 E n c o d e r   e n c o d e r   =   n e w   B A S E 6 4 E n c o d e r ( ) ;     r e s u l t _ A C T I V E C O D E   =   e n c o d e r . e n c o d e ( m d 5 ) ;    
广 广 使 C A C A 使 C A C A C A S S L / T L S b y t e [ ]   k e y B y t e s   =   B a s e 6 4 U t i l s . d e c o d e ( p u b l i c K e y ) ; X 5 0 9 E n c o d e d K e y S p e c   k e y S p e c   =   n e w   X 5 0 9 E n c o d e d K e y S p e c ( k e y B y t e s ) ; K e y F a c t o r y   k e y F a c t o r y   =   K e y F a c t o r y . g e t I n s t a n c e ( K E Y _ A L G O R I T H M ) ; P u b l i c K e y   p u b l i c K   =   k e y F a c t o r y . g e n e r a t e P u b l i c ( k e y S p e c ) ; S i g n a t u r e   s i g n a t u r e   =   S i g n a t u r e . g e t I n s t a n c e ( S I G N A T U R E _ A L G O R I T H M ) ; s i g n a t u r e . i n i t V e r i f y ( p u b l i c K ) ; s i g n a t u r e . u p d a t e ( d a t a ) ; r e t u r n   s i g n a t u r e . v e r i f y ( B a s e 6 4 U t i l s . d e c o d e ( s i g n ) ) ; S t r i n g   p a s s w o r d = r e q u e s t . g e t P a r a m e t e r ( " p a s s w o r d " ) ; D e f a u l t U s e r   u s e r   =   ( D e f a u l t U s e r )   E S A P I . a u t h e n t i c a t o r ( ) . c r e a t e U s e r ( u s e r n a m e ,   p a s s w o r d ,   p a s s w o r d ) ; S t r i n g   p a s s w o r d = r e q u e s t . g e t P a r a m e t e r ( " p a s s w o r d " ) ; S t r i n g   c o n f i r m p a s s w o r d = r e q u e s t . g e t P a r a m e t e r ( " c o n f i r m p a s s w o r d " ) ; D e f a u l t U s e r   u s e r   =   ( D e f a u l t U s e r )   E S A P I . a u t h e n t i c a t o r ( ) . c r e a t e U s e r ( u s e r n a m e ,   p a s s w o r d ,   c o n f i r m p a s s w o r d ) ;
使 U R L C o n n e c t i o n   S S L / T L S 使 H t t p s U R L C o n n e c t i o n   P B E ( ) 使 使 P B E D E S A E S , , 使 P B E 1 P B E 使 P B E P a r a m e t e r S p e c 使 s a l t 1 0 0 0 使   P B E K e y S p e c 使 s a l t 1 0 0 0 0 U R L   u r l   =   n e w   U R L ( " h t t p s : / / w w w . A B C . c o m " ) ; U R L C o n n e c t i o n   u r l C o n n e c t i o n   =   u r l . o p e n C o n n e c t i o n ( ) ; I n p u t S t r e a m   i n p u t S t r e a m   =   u r l C o n n e c t i o n . g e t I n p u t S t r e a m ( ) ; S S L C o n t e x t   s s l C o n t e x t   =   S S L C o n t e x t . g e t I n s t a n c e ( " T L S " ) ; s s l C o n t e x t . i n i t ( n u l l ,   t r u s t M a n a g e r s ,   n e w   S e c u r e R a n d o m ( ) ) ; U R L   u r l   =   n e w   U R L ( " h t t p s : / / w w w . A B C . c o m " ) ; H t t p s U R L C o n n e c t i o n   h t t p s U R L C o n n e c t i o n   =   ( H t t p s U R L C o n n e c t i o n ) u r l . o p e n C o n n e c t i o n ( ) ; h t t p s U R L C o n n e c t i o n . s e t S S L S o c k e t F a c t o r y ( s s l C o n t e x t . g e t S o c k e t F a c t o r y ( ) ) ; I n p u t S t r e a m   i n p u t S t r e a m   =   h t t p s U R L C o n n e c t i o n . g e t I n p u t S t r e a m ( ) ; f i n a l   i n t   S A L T _ C O U N T   =   5 0 ; K e y   k   =   s t r i n g T o K e y ( k e y ) ; P B E P a r a m e t e r S p e c   p a r a m e t e r S p e c   =   n e w   P B E P a r a m e t e r S p e c ( s a l t ,   S A L T _ C O U N T ) ;     C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( K E Y _ P B E ) ;     c i p h e r . i n i t ( C i p h e r . E N C R Y P T _ M O D E ,   k ,   p a r a m e t e r S p e c ) ;
A P I 使 1 A P I 2 A P I 3 C # J A V A 广 J A V A i 使 f i n a l   i n t   S A L T _ C O U N T   =   1 0 0 0 0 0 ; K e y   k   =   s t r i n g T o K e y ( k e y ) ; P B E P a r a m e t e r S p e c   p a r a m e t e r S p e c   =   n e w   P B E P a r a m e t e r S p e c ( s a l t ,   S A L T _ C O U N T ) ;     C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( K E Y _ P B E ) ;     c i p h e r . i n i t ( C i p h e r . E N C R Y P T _ M O D E ,   k ,   p a r a m e t e r S p e c ) ;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则