[14814] 2019-11-14_JWT介绍及其安全性分析

文档创建者:s7ckTeam
浏览次数:5
最后更新:2025-01-18
2019-11-14_JWT介绍及其安全性分析 J W T   F r e e B u f   2 0 1 9 - 1 1 - 1 4 0 x 0 0   J W T J S O N   W e b R E S T   A P I 使 使 O p e n I D   C o n n e c t 使 使 O A u t h 2 J W T J W T j w t   t o k e n & 0 x 0 1   J W T   J S O N   W e b   T o k e n   ( J W T )   i s   a   c o m p a c t ,   U R L - s a f e   m e a n s   o f   r e p r e s e n t i n g   c l a i m s   t o   b e   t r a n s f e r r e d   b e t w e e n   t w o   p a r t i e s .   T h e   c l a i m s   i n   a   J W T   a r e   e n c o d e d   a s   a   J S O N   o b j e c t   t h a t   i s   u s e d   a s t h e   p a y l o a d   o f   a   J S O N   W e b   S i g n a t u r e   ( J W S )   s t r u c t u r e   o r   a s   t h e   p l a i n t e x t   o f   a   J S O N   W e b   E n c r y p t i o n   ( J W E )   s t r u c t u r e   ( ) R F C   7 5 1 9 J W T J W S J S O N   W e b J W E J S O N   W e b J S O N h t t p s : / / w w w . j s o n . o r g / J W S J W E J W S J W T j w t   h e a d e r p a y l o a d s i g n a t u r e 使 B A S E 6 4 U R L B A S E 6 4 + - / 线 _ B A S E 6 4 = h t t p s : / / j w t . i o / j w t   t o k e n 0 x 0 2   J W T e y J h b G c i O i J I U z I 1 N i J 9 . e y J p c 3 M i O i I x N j Y w N D Y i L C J l e H A i O j E 1 N z I 4 M z k 4 N T Z 9 . a A w u J Z B u G 2 z K B J 0 4 Q Q 3 6 F v L P - 9 P e s i O 3 0 j 9 V C D D g K R 0 使 b a s e 6 4 u r l 使   A P I p a y l o a d A P I j w t 1 - p a y l o a d h e a d e r J W E J S O N   W e b 2 使 H S 2 5 6 H M A C - S H A 2 5 6   H S 2 5 6 A P I 1 p u b l i c   c l a s s   J w t T o k e n   {       2         p u b l i c   s t a t i c   S t r i n g   c r e a t e T o k e n ( )   t h r o w s   E x c e p t i o n {       3                 M a p < S t r i n g ,   O b j e c t >   m a p   =   n e w   H a s h M a p < S t r i n g ,   O b j e c t > ( ) ;       4                 m a p . p u t ( " a l g " ,   " H S 2 5 6 " ) ;       5                 m a p . p u t ( " t y p " ,   " J W T " ) ;       6                 S t r i n g   t o k e n   =   J W T . c r e a t e ( )       7                                 . w i t h H e a d e r ( m a p ) / / h e a d e r       8                                 . w i t h C l a i m ( " n a m e " ,   " D e s M 0 n d " ) / / p a y l o a d       9                                 . w i t h C l a i m ( " a g e " ,   " 1 8 " )     1 0                                 . s i g n ( A l g o r i t h m . H M A C 2 5 6 ( " s e c r e t " ) ) ; / /     1 1                 r e t u r n   t o k e n ;     1 2         }     1 3 } 1 h e a d e r   2 {   3     " a l g " :   " H S 2 5 6 "   4 }   5 p a y l o a d   6 {   7     " i s s " :   " 1 6 6 0 4 6 " ,   8     " e x p " :   1 5 7 2 8 3 9 8 5 6   9 } 1 0 V E R I F Y   S I G N A T U R E 1 1 H M A C S H A 2 5 6 ( 1 2     b a s e 6 4 U r l E n c o d e ( h e a d e r )   +   " . "   + 1 3     b a s e 6 4 U r l E n c o d e ( p a y l o a d ) ,   1 1 1
J W T A P I - J W T J W T   /   J W S   /   J W E   /   J W K - J W T 3 0 0 J W T   J W T J W S J W T h e a d e r n o n e   R F C J S O N   W e b [ J W A ] M A C H S 2 5 6 n o n e J W T J W T {   a l g : n o n e } A P I J W T J W T s h t t p s : / / a u t h 0 . c o m / b l o g / c r i t i c a l - v u l n e r a b i l i t i e s - i n - j s o n - w e b - t o k e n - l i b r a r i e s / c v e d e t a i l h t t p s : / / w w w . c v e d e t a i l s . c o m / c v e / C V E - 2 0 1 8 - 1 0 0 0 5 3 1 / H S 2 5 6 H S 5 1 2 h t t p s : / / g i t h u b . c o m / F u s i o n A u t h / f u s i o n a u t h - j w t / i s s u e s / 2 J W T D e c o d e r . d e c o d e 使 J W T h t t p s : / / g i t h u b . c o m / j w t - d o t n e t / j w t / i s s u e s / 6 1 { a l g   :   n o n e   , t y p   :   J W T   }
使 h t t p s : / / a u t h 0 . c o m / d o c s / s e c u r i t y / b u l l e t i n s / c v e - 2 0 1 9 - 7 6 4 4 1 . 0 . 4 A u t h 0 - W C F - S e r v i c e - J W T   N u G e t   J W T J W T H M A C h m a c j w t A P I / / S H A 2 5 6 H M A C - S H A 2 5 6 使 h a s h c a t 使 G P U J W T G P U 亿 A P I c - j w t - c r a c k e r   h t t p s : / / g i t h u b . c o m / b r e n d a n - r i u s / c - j w t - c r a c k e r h a s h c a t P y J W T   l i b r a r y   h t t p s : / / g i t h u b . c o m / j p a d i l l a / p y j w t , h t t p s : / / g i t h u b . c o m / h a s h c a t / h a s h c a t / i s s u e s / 1 0 5 7 R F C A   k e y   o f   t h e   s a m e   s i z e   a s   t h e   h a s h   o u t p u t   ( f o r   i n s t a n c e ,   2 5 6   b i t s   f o r   H S 2 5 6 )   o r   l a r g e r   M U S T   b e   u s e d   w i t h   t h i s   a l g o r i t h m . ( T h i s   r e q u i r e m e n t   i s   b a s e d   o n   S e c t i o n   5 . 3 . 4   ( S e c u r i t y   E f f e c t   o f t h e   H M A C   K e y )   o f   N I S T   S P   8 0 0 - 1 1 7   [ N I S T . 8 0 0 - 1 0 7 ] ,   w h i c h   s t a t e s   t h a t   t h e   e f f e c t i v e   s e c u r i t y   s t r e n g t h   i s   t h e   m i n i m u m   o f   t h e   s e c u r i t y   s t r e n g t h   o f   t h e   k e y   a n d   t w o   t i m e s   t h e   s i z e   o f   t h e i n t e r n a l   h a s h   v a l u e . ) . 使   H S 2 5 6 2 5 6 N I S T   S P   8 0 0 - 1 1 7   [ N I S T . 8 0 0 - 1 0 7 ] 5 . 3 . 4 H M A C j w t J W S H M A C S H A 2 5 6 h t t p s : / / a u t h 0 . c o m / b l o g / j s o n - w e b - t o k e n - s i g n i n g - a l g o r i t h m s - o v e r v i e w / 使 - R S A h e a d e r a l g :   R S 5 1 2 a l g :   R S 2 5 6 R S A R S A H S 2 5 6 R S 5 1 2 R S 2 5 6 使 5 1 2 2 5 6 R S A h t t p s   : / / e p r i n t . i a c r . o r g / 2 0 1 5 / 1 0 0 0 . p d f h t t p s : / / w w w . t h e r e g i s t e r . c o . u k / 2 0 1 0 / 0 1 / 0 7 / r s a _ 7 6 8 _ b r o k e n / 使 1 0 2 4 R S A R S A 使 S H A R S 5 1 2 R S A S H A 5 1 2 R S A 线 使 O p e n S S L 1 0 2 4 使 R S A A P I v e r i f y _ k e y H M A C J W T 1 使 J W T 2 使 h e a d e r H S 2 5 6 H M A C R S A 使 R S A 使 R S A H M A C 3 H S 2 5 6 R S A 4 使 H S 2 5 6 1 h a s h c a t   - m   1 6 5 0 0   j w t . t x t   - a   3   - w   3   ? a ? a ? a ? a ? a ? a 1 > > >   i m p o r t   j w t 2 > > >   e n c o d e d   =   j w t . e n c o d e ( { ' s o m e ' :   ' p a y l o a d ' } ,   ' s e c r e t ' ,   a l g o r i t h m = ' H S 2 5 6 ' ) 3 ' e y J h b G c i O i J I U z I 1 N i I s I n R 5 c C I 6 I k p X V C J 9 . e y J z b 2 1 l I j o i c G F 5 b G 9 h Z C J 9 . 4 t w F t 5 N i z n N 8 4 A W o o 1 d 7 K O 1 T _ y o c 0 Z 6 X O p O V s w a c P Z g '
使 R S A h t t p s : / / w w w . c v e d e t a i l s . c o m / c v e / C V E - 2 0 1 6 - 1 0 5 5 5 / S i n c e   a l g o r i t h m   i s n t   e n f o r c e d   i n   j w t . d e c o d e ( ) i n   j w t - s i m p l e   0 . 3 . 0   a n d   e a r l i e r ,   a   m a l i c i o u s   u s e r   c o u l d   c h o o s e   w h a t   a l g o r i t h m   i s   s e n t   s e n t   t o   t h e   s e r v e r .   I f   t h e   s e r v e r   i s   e x p e c t i n g   R S A   b u t   i s s e n t   H M A C - S H A   w i t h   R S A s   p u b l i c   k e y ,   t h e   s e r v e r   w i l l   t h i n k   t h e   p u b l i c   k e y   i s   a c t u a l l y   a n   H M A C   p r i v a t e   k e y .   T h i s   c o u l d   b e   u s e d   t o   f o r g e   a n y   d a t a   a n   a t t a c k e r   w a n t s . j w t - s i m p l e   0 . 3 . 0 j w t . d e c o d e 使 R S A 使 R S A H M A C - S H A H M A C A P I 使 C V E - 2 0 1 8 - 0 1 1 4   n o d e - j o s e h t t p s : / / c v e . m i t r e . o r g / c g i - b i n / c v e n a m e . c g i ? n a m e = C V E - 2 0 1 8 - 0 1 1 4 A   v u l n e r a b i l i t y   i n   t h e   C i s c o   n o d e - j o s e   o p e n   s o u r c e   l i b r a r y   b e f o r e   0 . 1 1 . 0   c o u l d   a l l o w   a n   u n a u t h e n t i c a t e d ,   r e m o t e   a t t a c k e r   t o   r e - s i g n   t o k e n s   u s i n g   a   k e y   t h a t   i s   e m b e d d e d   w i t h i n   t h e   t o k e n .   T h e v u l n e r a b i l i t y   i s   d u e   t o   n o d e - j o s e   f o l l o w i n g   t h e   J S O N   W e b   S i g n a t u r e   ( J W S )   s t a n d a r d   f o r   J S O N   W e b   T o k e n s   ( J W T s ) .   T h i s   s t a n d a r d   s p e c i f i e s   t h a t   a   J S O N   W e b   K e y   ( J W K )   r e p r e s e n t i n g   a p u b l i c   k e y   c a n   b e   e m b e d d e d   w i t h i n   t h e   h e a d e r   o f   a   J W S .   T h i s   p u b l i c   k e y   i s   t h e n   t r u s t e d   f o r   v e r i f i c a t i o n .   A n   a t t a c k e r   c o u l d   e x p l o i t   t h i s   b y   f o r g i n g   v a l i d   J W S   o b j e c t s   b y   r e m o v i n g   t h e   o r i g i n a l s i g n a t u r e ,   a d d i n g   a   n e w   p u b l i c   k e y   t o   t h e   h e a d e r ,   a n d   t h e n   s i g n i n g   t h e   o b j e c t   u s i n g   t h e   ( a t t a c k e r - o w n e d )   p r i v a t e   k e y   a s s o c i a t e d   w i t h   t h e   p u b l i c   k e y   e m b e d d e d   i n   t h a t   J W S   h e a d e r . J S O N   W e b J W T J S O N   W e b J W S J S O N   W e b J W K J W S J W S 使 J W S 2 0 1 6 G o - j o s e h t t p s : / / m a i l a r c h i v e . i e t f . o r g / a r c h / m s g i f / j o s e / g Q U _ C _ Q U R V u w m y - Q 2 q y V w P L Q l c g h t t p s : / / g i t h u b . c o m / D C I T / p e r l - C r y p t - J W T / c o m m i t / b 9 8 a 5 9 b 4 2 d e d 9 f 9 e 5 1 b 2 5 6 0 4 1 0 1 0 6 2 0 7 c 2 1 5 2 d 6 c j w t J W E 使 h t t p s : / / b l o g s . a d o b e . c o m / s e c u r i t y / 2 0 1 7 / 0 3 / c r i t i c a l - v u l n e r a b i l i t y - u n c o v e r e d - i n - j s o n - e n c r y p t i o n . h t m l E C D H - E S 便 R F C h t t p s :   / / t o o l s . i e t f . o r g / h t m l / r f c 7 5 1 8 G C M A E S h t t p s   : / / r w c . i a c r . o r g / 2 0 1 7 / S l i d e s / n g u y e n . q u a n . p d f J W T G C M P K C S 1 v 1 . 5 R S A 1 9 9 8 f t p : / / f t p . r s a . c o m / p u b / p d f s / b u l l e t n 7 . p d f   h t t p s : / / b l o g . c r y p t o g r a p h y e n g i n e e r i n g . c o m / 2 0 1 2 / 0 9 / 0 6 / o n - p r o v a b l e - s e c u r i t y - o f - t l s - p a r t - 1 / P K C S 1 v 1 . 5 使 J W E 使 A P I 使 d e c o d e v e r i f y / h t t p s : / / g i t h u b . c o m / a u t h 0 / j w t - d e c o d e / i s s u e s / 4 使 e n c o d e B A S E 6 4 U R L d e c o d e d e c o d e 便 J W T - 使 A P I 使 访 A P I 使 i s s a u d { i s s     =   m y _ a p i   , l o g i n     =   m a n a g e r   , a u d     =   s t o r e _ a p i   }
J W T 使 A P I D E L E T E 使 使 j t i e x p J t i J W T   I D e x p 使 e x p b u g h t t p s : / / g i t h u b . c o m / j w t - d o t n e t / j w t / i s s u e s / 1 3 4 J W T . N e t C o r e E x p i r e d T o k e n E x c e p t i o n 使 J W T J W S   J W S h t t p s : / / h a c k e r n o o n . c o m / c a n - t i m i n g - a t t a c k - b e - a - p r a c t i c a l - s e c u r i t y - t h r e a t - o n - j w t - s i g n a t u r e - b a 3 c 8 3 4 0 d e a 9 5 5 , 0 0 0 2 2 J W T h t t p s   : / / w w w . c s . r i c e . e d u / ~ d w a l l a c h / p u b / c r o s b y - t i m i n g 2 0 0 9 . p d f I n t e r n e t 使 I n t e r n e t 1 5 - 1 0 0 µ s 1 0 0 n s 1 使 2 t o k e n r e q u e s t j w t   t o k e n 0 x 0 3   J W T s o J W T 使 J W T J W T J W T 1 J W T 2 3 使 1 使 J W S J W E H M A C J W T 使 2 使 / 3 4 5 使 6
7 8 使 J W E 使 9 v e r i f y d e c o d e 1 0 使 访 1 1 d e b u g   =   t r u e 1 2 U R L W e b P a y l o a d 1 3 J W S 1 4 1 5 使   e x p 1 6   e x p 使 1 7 1 8 使 c v e d e t a i l s . c o m 1 9 使 2 0 J W T 使 0 x 0 4   J W T h t t p s : / / p a s e t o . i o / P a s e t o J O S E J W T J W E J W S J O S E P A S E T O J W T h t t p s : / / p a r a g o n i e . c o m / b l o g h t t p s : / / d e v e l o p e r . o k t a . c o m / b l o g / 2 0 1 9 / 1 0 / 1 7 / a - t h o r o u g h - i n t r o d u c t i o n - t o - p a s e t o 0 x 0 5   1 .   J S O N   W e b h t t p s : / / t o o l s . i e t f . o r g / h t m l / d r a f t - i e t f - o a u t h - j w t - b c p - 0 4 2 .   J W T h t t p s : / / a u t h 0 . c o m / r e s o u r c e s / e b o o k s / j w t - h a n d b o o k 3 . J W T h t t p s : / / l o b s t e . r s / s / r 4 l v 7 6 / j w t _ i s _ b a d _ s t a n d a r d _ e v e r y o n e _ s h o u l d _ a v o i d h t t p s : / / m e d i u m . c o m / s w l h / h a c k i n g - j s o n - w e b - t o k e n s - j w t s - 9 1 2 2 e f e 9 1 e 4 a 4 .   J a v a   J W T O W A S P h t t p s : / / w w w . o w a s p . o r g / i n d e x . p h p / J S O N W e b _ T o k e n ( J W T ) _ C h e a t _ S h e e t _ f o r _ J a v a 5 . 使 J W T h t t p s : / / d e v . t o / n e i l m a d d e n / 7 - b e s t - p r a c t i c e s - f o r - j s o n - w e b - t o k e n s 6 . 使 J W T h t t p : / / c r y t o . n e t / ~ j o e p i e 9 1 / b l o g / 2 0 1 6 / 0 6 / 1 3 / s t o p - u s i n g - j w t - f o r - s e s s i o n s / 7 .   J W T I D h t t p : / / b y . j t l . x y z / 2 0 1 6 / 0 6 / t h e - u n s p o k e n - v u l n e r a b i l i t y - o f - j w t s . h t m l 0 x 0 6   R e f e r e n c e s h t t p : / / b l o g . r a n g e f o r c e . c o m / t u t o r i a l / 2 0 1 9 / 0 5 / 2 9 / B r e a k i n g - J W T s / h t t p s : / / r e s e a r c h . s e c u r i t u m . c o m / j w t - j s o n - w e b - t o k e n - s e c u r i t y / h t t p s : / / t o o l s . i e t f . o r g / h t m l / r f c 7 5 1 9 h t t p s : / / b l o g . c s d n . n e t / w e i x i n _ 4 2 5 0 6 9 0 5 / a r t i c l e / d e t a i l s / 8 2 0 5 3 8 8 8 * F r e e B u f . C O M

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

本版积分规则