Google Chrome рд╣реИрдХрд░ рдПрдХ рд╕рд╣рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ

 ,  Chrome    XSS-. 


рдореБрдЭреЗ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХреНрдпреЛрдВ рд╣реИ?


рдЖрдк рдореЗрдВ рд╕реЗ рдХрдИ рдХреА рддрд░рд╣, рдореИрдВ рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рд╣реИред рдЬрдм рдПрдХ рднреЗрджреНрдпрддрд╛ рдХреЛрдб рдореЗрдВ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ "рдЭреВрдареЗ рдЕрд▓рд╛рд░реНрдо" рд╣реИрдВред рдпреЗ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрдм рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ XSS рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реНрдХ рд╣реИ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд░рдЪрдирд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рднреЗрджреНрдпрддрд╛ рдореМрдЬреВрдж рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдХреНрд╕рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ - рдпрд╛ рддреЛ рд╕рдорд╕реНрдпрд╛ рд╕реАрдзреЗ рдХреЛрдб рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдпрд╛ рд╡реЗ рдПрдХ рд╢рдмреНрдж рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред

рдЗрд╕ рдХрд╣рд╛рдиреА рдХреА рд╢реБрд░реБрдЖрдд


рдПрдХ рдорд┐рддреНрд░ рдиреЗ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдПрдХ XSS рднреЗрджреНрдпрддрд╛ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдХреЛ рд▓рд┐рдЦрд╛ рдерд╛ред рдлрд┐рд░ рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЧрдпрд╛ред рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА - XSS рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ JS рдирд┐рд╖реНрдкрд╛рджрди рдХреА рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реА!



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

рдкрд╣рд▓рд╛ рд╢рдХ


рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ - рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд┐рдирд╛ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рд╣реИ, рдЪреЗрдХ рдХреНрдпрд╛ рд╣реИрдВ, рдЖрджрд┐, рд▓реЗрдХрд┐рди рд╕рддрд░реНрдХ (1); рд╣рдардкреВрд░реНрд╡рдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред XSRF рдХреЛ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рднреА рдорд┐рд▓рд╛ - рдПрдХ рдЕрдЪреНрдЫрд╛ рдмреЛрдирд╕!

рдПрдХ рд╕рдВрджреЗрд╣ рдерд╛ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреЛрдб рдХреЛ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдкреГрд╖реНрда рдХрд╛ HTML рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рд╣рд╛рдБ, рдпрд╣ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрдЬреАрдм рддрд░реАрдХреЗ рд╕реЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рдерд╛ рдХрд┐ рд╡рд╣ рдЯреВрдЯреЗ рд╣реБрдП рдорд╛рд░реНрдХрдЕрдк рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдЧ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдмрд┐рдВрджреБ рдЕрд▓рдЧ рдерд╛ред рдЗрд╕ рдмрд╛рд░ рдореИрдВрдиреЗ Google Chrome рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдореБрдЭреЗ рдирд╣реАрдВ рд╣реБрдЖ (рд▓реЗрдХрд┐рди рд╡реНрдпрд░реНрде!)ред

рдЕрдВрдд рдореЗрдВ, FireFox рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ XSS рдЪреЗрдХ рдиреЗ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджрд┐рдпрд╛ - рд╕реБрдкрд░! рдореИрдВрдиреЗ рдЕрднреА рднреА рд╕рд╛рдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдПрдХ рднреЗрджреНрдпрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрд░реЛрдо рдореЗрдВ рдХреБрдЫ рднреА рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реБрдЖ? .. рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рд╣реА рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдПрдореНрдмреЗрдбреЗрдб рдХреЛрдб рдХреЛ рдХреНрд░реЛрдо рдмрд┐рдЯ рдЖрдЙрдЯ рдХрд░реЗрдВ, рдЪрд╛рд╣реЗ рдореИрдВ рдХрд┐рддрдирд╛ рднреА рдкрд░рд┐рд╖реНрдХреГрдд рд╣реЛред рд╣реЛ рдЧрдпрд╛! рдХреНрд░реЛрдо рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ, рдЬрд╣рд╛рдВ рдмрд╛рд╣рд░реА JS- рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ about:blank :



рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк FF, рдУрдкреЗрд░рд╛, IE рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдкрд░ рд╣рдорд▓рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрд░реЛрдо рдкрд░ рдирд╣реАрдВред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реИред рд╕рдорд╕реНрдпрд╛ рдореБрдЭреЗ рд╕рддрд╛ рдЧрдИ рдФрд░ рдХрд╛рд░рдг рдорд┐рд▓ рдЧрдпрд╛! рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 7 рдХреЗ рд╕рд╛рде Google рдХреНрд░реЛрдо рдореЗрдВ рдПрдХ XSS рдлрд╝рд┐рд▓реНрдЯрд░ (рдХреНрд░реЙрд╕ рд╕рд╛рдЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдСрдбрд┐рдЯрд░ рд╣реИ ! рдпрд╣ XSS рдСрдбрд┐рдЯрд░ рдерд╛ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ XSS рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рдереАред

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

Google Chrome рдореЗрдВ XSS рдСрдбрд┐рдЯрд░ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?


рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реБрдЖред



рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдВрддреБрд▓рди рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрд░реЛрдо рдореЗрдВ XSS рдСрдбрд┐рдЯрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд┐рд╕реА рддрд░рд╣ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдРрд╕реЗ рд░рд╛рд╕реНрддреЗ рдорд┐рд▓реЗ:
  1. рдЖрдкрдХреЛ рдХреБрдВрдЬреА --disable-xss-auditor рд╕рд╛рде рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдорд╣рд╛рдиред
  2. рдпрджрд┐ рдЖрдк 2 рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдкреГрд╖реНрда рдкрд░ 2 рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдХреЛрдб рдХреЛ 2 рднрд╛рдЧреЛрдВ рдореЗрдВ рддреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ HTML рдХреЛ рдЗрди 2 рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рд╡рд┐рд╡рд░рдг 96616 рдореЗрдВ рд╡рд┐рд╡рд░рдг : рд╕реБрд░рдХреНрд╖рд╛: Google Chrome рдПрдВрдЯреА- XSS рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд░рд┐рдзрд┐
  3. рдпрджрд┐ рдПрдХ рдЯреИрдЧ рдХреЛ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, XSS рдСрдбрд┐рдЯрд░ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдЧ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛ред
  4. рдПрдХ рд╡рд┐рд╢реЗрд╖ HTTP рд╣реЗрдбрд░ рднреЗрдЬреЗрдВ рдЬреЛ XSS рдСрдбрд┐рдЯрд░ ( рдкреНрд░реВрдл ) рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рддрд╛ рд╣реИ:
     header("X-XSS-Protection: 0"); 


рдирд┐рд╖реНрдХрд░реНрд╖


рдмрд┐рдирд╛ рдХрд┐рд╕реА XSS рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП Google Chrome рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХреЛрдИ рдЪрд╛рд▓ рдирд╣реАрдВ рд╣реЛрдЧреА - рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд▓реЗрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рдЖрдк рдХреЛ XSS рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ Google рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рджреЛрдзрд╛рд░реА рддрд▓рд╡рд╛рд░ рд╣реИред

рдЖрдк рдФрд░ рдХреНрдпрд╛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ?


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


All Articles