рдЕрд╕рд╛рдорд╛рдиреНрдп XSS рдХрдордЬреЛрд░рд┐рдпрд╛рдБ

рдирдорд╕реНрдХрд╛рд░ рдкрд╛рдардХ рдЬреА!
рдпрд╣ рд▓реЗрдЦ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХрд┐ XSS рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рд╕рднреА рдмрдбрд╝реЗ рдЪрд╛рдЪрд╛ (рдХреБрдПрдВ, рдЪрд╛рдЪреА) рд╣реИрдВред рдпрд╣ рд▓реЗрдЦ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдХрд┐ рдордирдорд╛рдирд╛ рдХреЛрдб рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рдореЗрд╢рд╛ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рд░реВрд╕ рдФрд░ рд╕реАрдЖрдИрдПрд╕ рдХреЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд░реВрд╕реА рд╕рдВрдШ рдХреЗ рд░рд╛рд╖реНрдЯреНрд░рдкрддрд┐ рдХреА рд╕рд╛рдЗрдЯ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред
рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рдмрдВрдж рд╣реЛ рдЧрдИ рд╣реИрдВ рдФрд░ рд╣рдо рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдЖрдк рдЕрднреА рднреА рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ? рдлрд┐рд░ рд╣рдо рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬрд╛рддреЗ рд╣реИрдВред

VKontakte


рдПрдХ рд╣рд▓реНрдХреА рд░рд╛рдд, рдПрдХ рдФрд░ рдХрдк рдХреЙрдлреА рдкреАрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХреНрд╕рдПрд╕рдПрд╕ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ Google рдореЗрдВ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдбрд╛рд▓рд╛: filetype: php inurl: "*ред Php? Search = *" рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ ~ 1,500,000,000 рдкреГрд╖реНрда рдкреНрд░рд╛рдкреНрдд рдХрд┐рдПред рд╣рд░ рддреАрд╕рд░рд╛ рдХрдордЬреЛрд░ рдерд╛ ... рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ, рдореЗрд░реЗ рдЕрдиреБрд░реЛрдз рдХреЛ "рдорд╣рд╛рди рдФрд░ рдкрд░рд╛рдХреНрд░рдореА" рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ swf рдорд┐рд▓рд╛, рдЬрд┐рд╕рдиреЗ рд╕рд╛рдЗрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ GET рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ред
рджреЛ рдмрд╛рд░ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд┐рдирд╛, рдореИрдВрдиреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдлреЙрд░реНрдо рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛: * .swf? [рдЪрд░] = http: //127.0.0.1/ред рдХреНрд░реЙрд╕рдбреЛрдореЗрди рдкрд░ 404 рддреНрд░реБрдЯрд┐ рджреЗрдЦрдХрд░, рдореИрдВрдиреЗ рд╢рдкрде рд▓реА, рд▓реЗрдХрд┐рди GET рдЕрдиреБрд░реЛрдз рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдХреЗ рдкрд╛рд╕ рдЧрдпрд╛ред рдЬрд▓реНрджреА рд╕реЗ рдПрдХ рдХреНрд░реЙрд╕рдбреЛрдореЗрди рдлреЗрдХрд┐рдВрдЧ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдкреНрдпрд╛рд░рд╛ рдЕрд▓рд░реНрдЯ ()ред рдФрд░ рдЕрдм рдереЛрдбрд╝рд╛ рдФрд░ред

crossdomain.xml рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рдЖрдо рд▓рд┐рдЦрд╛:

<cross-domain-policy> <site-control permitted-cross-domain-policies="master-only"/> <allow-access-from domain="*"/> </cross-domain-policy> 


рдХреНрд░реЙрд╕рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рджреЗрдЦрд╛:



рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдмреЙрдбреА, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдореВрдб рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдиреЗ рдореБрдЭ рдкрд░ рдпрд╣ рдЖрд░реЛрдк рд▓рдЧрд╛рдпрд╛ рдХрд┐ рд▓рд┐рдВрдХ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ!
рдирддреАрдЬрддрди, рдПрдХ, img рдЯреИрдЧ рдЕрднреА рднреА рдкреГрд╖реНрда рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

HREF, рдЖрдкрдХрд╛ рд╕рдордп!

рдЦреИрд░, рд▓рд┐рдВрдХ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ href = "рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ:" рдпрд╛ href = "рдбреЗрдЯрд╛:" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рд╣рдорд╛рд░реА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд╣рдореЗрдВ vk.com рдкрд░ рднреА рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╢рд╛рдпрдж, рдпрд╣ window.opener рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛)ред

рд╣рдорд▓реЗ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдирдХрд▓реА VKontakte рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд╛рде рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рдФрд░ рдЕрдм рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП index.html рдХреЛ рднреВрд▓ рдЧрдП, рдЬреИрд╕реЗ рдХреБрдЫ, рдореЗрд░реЗ рдЕрдВрджрд░, рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдпрд╛ред
рд╕рдм рдХреЗ рдмрд╛рдж, рд▓рд┐рдВрдХ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 <a href="javascript: (html )">click-click</a> 

рдФрд░ рдЕрдм рд╕рдмрд╕реЗ рдмреБрд░реА рдЪреАрдЬ: js рдореЗрдВ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрджреНрдзрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд╣реИрдВ), рдХреБрдЫ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рдПрдХ рдФрд░ рдмрдирд╛ рд░рд╣рд╛ред
рд▓реЗрдХрд┐рди рдлрд┐рд░ рдкрд╛рда рдбреЗрдЯрд╛ рдХреЛ рдЪрд░ рдореЗрдВ рдХреИрд╕реЗ рд░рдЦрд╛ рдЬрд╛рдП?
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдпрд╣ рд╣рдорд╛рд░рд╛ рдореИрд▓рд╡реЗрдпрд░ рд╣реИ:

 var a="<html><h1>Site.com</h1>\n"+ "<!тАФ -- -->\n"+ "<div id='lga' style='height:231px;margin-top:-22px'>\n"+ "<!тАФ - -->\n"+ "</html>"; 


Js рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди html рдХрд╕рдо рдЦрд╛рдПрдЧрд╛ред

 <a href=" javascript: var a="<html><h1>Site.com</h1> <!тАФ -- --> <div id="lga" style='height:231px;margin-top:-22px'> <!тАФ - --> </html>"; ">FAIL</a> 



рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдПрд╕рд╕реАрдЖрдИрдЖрдИ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рд╣рдо ASCII рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреЛ рдХреВрдЯрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░рд╛ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд░реВрдк рд▓реЗрддрд╛ рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рд╢рдкрде рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдРрд╕рд╛ рдорд┐рдиреА-рд╣реИрдХ)ред



рдпрд╣ рдХреЗрд╡рд▓ рд╕рд╛рдЗрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ crossdomain.xml рдФрд░ рд╣рдорд╛рд░реЗ рдирдХрд▓реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред

рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдВрдХ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:


рдФрд░ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:


рднреЗрджреНрдпрддрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, .htaccess рдореЗрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░, рд▓реЗрдХрд┐рди рднреЗрджреНрдпрддрд╛ рдЕрднреА рднреА рдЬреАрд╡рд┐рдд рд╣реИ, рдлреНрд▓реИрд╢ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд┐рдШрдЯрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ fla рдлрд╝рд╛рдЗрд▓ рднреЗрдЬ рджреАред


рдкрд╛рд╡реЗрд▓ рд╣рдо рдкрд░ рдиреАрдЪреЗ рджрд┐рдЦрддрд╛ рд╣реИ, рдХреБрдЫ рдЧрд▓рдд рд╣реИ ...

рдФрд░ рд╣рдо рд╕рд┐рд░реНрдл рдПрдХ html рдкреЗрдЬ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдПрдХ swf рдлрд╛рдЗрд▓ рдПрдореНрдмреЗрдб рдХрд░рддреЗ рд╣реИрдВред



Kremlin.ru


Vkontakte рдХреА рддрд░рд╣, рдХреНрд░реЗрдорд▓рд┐рди рдХрдордЬреЛрд░ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдврдВрдЧ рд╕реЗ рд╣реБрдЖред

XML рдмреБрд▓рд╢рд┐рдЯ

рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╕реНрдерд╛рди рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ рдХрдордЬреЛрд░ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдереЗред
рдХрд╛рд░реНрдп рдХреА рдпреЛрдЬрдирд╛ VKontakte рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдорд╛рди рдереА:
SWF -> GET / crossdomain.xml -> GET / file

рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░, рдЙрдиреНрд╣реЛрдВрдиреЗ xml рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдкреВрдЫрд╛, рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЪрд┐рддреНрд░ рдореЗрдВ xml рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ред



рдирдХрд▓реА xml рдЗрд╕ рддрд░рд╣ рджреЗрдЦрд╛:



рдПрдХ рдХреНрд▓рд┐рдХ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╕реЗрдХрдВрдб ...



рдФрд░ рдпрд╣рд╛рдБ рд╡рд╣ рд╕рдкрдиреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд╕рдЪреЗрдд рд╣реИ:



рджреВрд╕рд░рд╛ рдЕрд▓рд░реНрдЯ, рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдирдВрдмрд░ 2:



рдПрдХреНрд╕рдПрдордПрд▓:



рдЖрдк рдХреНрд▓рд┐рдХ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рджреБрд░реНрднрд╛рдЧреНрдп


рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣рдореЗрд╢рд╛ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдереАрдВ, рдмрд╕ рдХрднреА-рдХрднреА рд╡реЗ рд╕рдмрд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕реНрдерд╛рди рдкрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд▓реЗрдЦ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рдерд╛ред

Ps рдореЗрд░реА рд╡рдХреНрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг, рдореИрдВ рдЕрдм рдХреЗрд╡рд▓ рд╡реАрдбрд┐рдпреЛ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВред

VKontakte:

Source: https://habr.com/ru/post/In149081/


All Articles