рд╣рдмреНрд░ рдкрд░ рдпрд╣ рдмреНрд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ
"рдХреАрдорд╛рд╕реНрдЯрд░" рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реИ -
рд╕рдВрдЪрд┐рдд рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдгред

рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╣реИрдВ: OAuth2 рдХрд▓реНрдкрдирд╛, рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдФрд░ рдзрдордХреА рдореЙрдбрд▓ рдХреА рдирд┐: рд╢реБрд▓реНрдХ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде
рд╣рдм рдЪрд╛рд▓
рдкрд░ 0day ред

OAuth2 рдмрд╕ рд╣реИ
рдЗрд╕реЗ рд╕реАрдЦрдиреЗ рдХрд╛ рдПрдХ рд▓рдВрдмрд╛ рд▓реЗрдХрд┐рди рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИредрдЖрд▓рд╕реА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб рдлреНрд▓реЛ рд╕рдмрд╕реЗ рдЖрдо рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд, рдЙрд░реНрдл
рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб ред
рдореБрдЦреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рдХреНрд▓рд╛рдЗрдВрдЯ (рд╡реЗрдмрд╕рд╛рдЗрдЯ / рдСрдирд▓рд╛рдЗрди рдЧреЗрдо / рдРрдк), рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рдЖрдк), рдкреНрд░рджрд╛рддрд╛ (рдлреЗрд╕рдмреБрдХ / vkontakte / google), рдХреЛрдб (рдХреЛрдб) рдФрд░ рдЯреЛрдХрди (access_token) рд╣реИрдВред
рдХреНрд▓рд╛рдЗрдВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ - "рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХреГрдд рдХрд░реЗрдВред" рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдЧреБрдВрдЬрд╛рдЗрд╢ рдкреИрд░рд╛рдореАрдЯрд░ - рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдЕрдиреБрдорддрд┐ рджреЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рджрд╛рддрд╛ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдирдХреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдбреЛрдореЗрди рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдкрд░ рд╡рд╛рдкрд╕ рднреЗрдЬ рджреЗрддрд╛ рд╣реИ:
рдХреЛрдб - рдкреНрд░рджрд╛рддрд╛ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдЬрд┐рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рд╕реНрдерд┐рддрд┐ - рд╡рд╣реА рдорд╛рди рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯ URL рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реАрдПрд╕рдЖрд░рдПрдл рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреЛрдб рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдПрдЬреЗрдВрдЯ, рдХреНрд░рдорд╢рдГ) рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдореВрд▓реНрдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рдЖрдк рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдПрдХ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред
рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рдкрд╛рд╕рд┐рдВрдЧ client_id, client_secret, рдХреЛрдб, redirect_uri рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдерд╛ - рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИ рдФрд░ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЙрд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЯреЛрдХрди рджреЗрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рди рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдФрд░ рди рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдПрдЬреЗрдВрдЯ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреЛрдХрди рдХреЛ рджреЗрдЦрд╛ред рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдкреНрд░рджрд╛рддрд╛ рдЙрд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ - рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рд░реАрдлреНрд░реЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рд░рд┐рдлреНрд░реЗрд╢_рдЯреЛрдХрди рдХреЛ рдПрдХ рд╕рд╛рде рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдзрдордХреА рдореЙрдбрд▓ рдпрд╛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ
OAuth рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд▓рдВрдмрд╛ рд▓реЗрдХрд┐рди рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИредрдпрд╣рд╛рдБ рдореИрдВ рдзреНрдпрд╛рди рджреЗрдВ:
1. рдФрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдПрдХ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реА рд╕рд╛рдЗрдЯ рддрдХ рд▓реЗ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдлрд┐рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЦреБрдж рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛?
рд╕рднреА рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдбреЛрдореЗрди рдкрд░ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЕрдХреНрд╕рд░, рдПрдХ рдЕрдиреНрдп рдкреНрд░рджрд╛рддрд╛ рдбреЛрдореЗрди рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рдЖрдкрдХрд╛ рд▓рд┐рдВрдХ redirect_uri_mismatch рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред
2. рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдореБрдЭреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдЬрдЧрд╣ рдорд┐рд▓ рдЬрд╛рдП рдЬреЛ рдореЗрд░рд╛ рдХреЛрдб рдорд░реНрдЬ рдХрд░ рджреЗ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдлреЙрд░реНрдо site.com рдХреА рдПрдХ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рддред
рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдб рдХреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ "рд╕рд╣реА" рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рднреЗрдЬрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХрд╛ рдХреЛрдб
clientite.com/leak_referer рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЧреНрд░рд╛рд╣рдХ Token рдХреА рд░рд╕реАрдж рдкрд░
clientsite.com/facebook_callback рднреЗрдЬрддрд╛ рд╣реИ , рддреЛ рдкреНрд░рджрд╛рддрд╛ рдЯреЛрдХрди рдирд╣реАрдВ рджреЗрдЧрд╛ред
3. рдХреНрдпрд╛ рдХрд┐рд╕реА рддрд░рд╣ рд╕рд╣реА рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рдкрд╛рд╕ рдХрд░рдХреЗ рдХреЛрдб рдХреЛ рдорд░реНрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рддреБрд░рдВрдд рджреВрд╕рд░реЗ рдкреГрд╖реНрда рдкрд░ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП - рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рднреА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рд╕рд╣реА redirect_uri рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рддреЛ рднреА рдПрдХ рдмрд╛рд░ рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд╣реА рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдореЗрд░реЗ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдб рд╣реИред рдЕрдЧрд░ рдореИрдВ рд╡рд╛рд╕рд┐рдпрд╛ рдХреЛ рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдЬрд╛рдКрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдпрд╣ рд╕реЛрдЪреЗрдЧреА рдХрд┐ рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЖрдкрдХрд╛ рдЦрд╛рддрд╛ рд╡рд╕реНрдпрд╛ рдХрд╛ рд╣реИред рдФрд░ рдЗрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп CSRF рдХреЛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рддреНрд░ / рдХреБрдХреА рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░рд╛рдЬреНрдп рдорд╛рди рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рд░рд┐рдЯрд░реНрди рдХреЙрд▓рдмреИрдХ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓рдЧрднрдЧ рдХреЛрдИ рднреА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдпрд╛ рдмрд▓реНрдХрд┐ рдирд╣реАрдВ)ред
рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛
рдПрдлрдмреА рдЬрд╡рд╛рдм рд╣рдорд▓рд╛
рдлреЗрд╕рдмреБрдХ рдХрдиреЗрдХреНрдЯ рдХреНрд▓рд╛рд╕рд┐рдХ
рд░рд┐рдкреНрд▓реЗ рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ
редрдкреНрд╡рд╛рдЗрдВрдЯ 3 рджрд░реНрд╢рд╛рддрд╛ рд╣реИ - рдХреЛрдб рдХреЗ рдПрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЕрднреА рднреА 60-80 рдорд┐рдирдЯ рдХреЗ рднреАрддрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЯреЛрдХрди рдХрд╛ рдорд╛рдирдХ рдПрдХреНрд╕рдкрд╛рдпрд░_рдЗрдиред рдлрд┐рд░ рд╕реЗ рдЦреЗрд▓рдирд╛ рдЕрдкрдиреЗ рд╢реБрджреНрдзрддрдо рд░реВрдк рдореЗрдВ рд╣рдорд▓рд╛ред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдордиреЗ XSS рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдкрд╛рдпрд╛ рд╣реИ - рдЗрд╕ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреА рддрд░рд╣ рдХреБрдЫ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рд╣реА рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рд░рд┐рдкреЛрд░реНрдЯ рд╣реЛ рдЧрдИ рд╣реИ, рд╡реЗ рдЬрд▓реНрдж рд╣реА рдЗрд╕реЗ рдареАрдХ рдХрд░ рд▓реЗрдВрдЧреЗред рдЦреИрд░, рдЬрд▓реНрдж рд╣реА, рд▓рдЧрднрдЧ рддреАрди рдорд╣реАрдиреЗ, рдЙрджреНрдпрдо
рдЕрдкрд╣рд░рдг рдХрд╛ рдЦрд╛рддрд╛
рд╕рдмрд╕реЗ рдЖрдо рднреЗрджреНрдпрддрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдм рдкрд░ рдореМрдЬреВрдж рд╣реИ - рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХред рдмрд┐рдВрджреБ 4 рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдЕрдиреБрд░реЛрдз рдореЗрдВ рд░рд╛рдЬреНрдп рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рдордд рдХрд░реЛред рдХреНрдпрд╛ рд╣рдмреНрд░ рдХрд┐ digg.com рдиреЗ a12b6467c3fb385e237109502277ab26 рдФрд░ heyman0day123123 рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрд╛
рд╡реАрдХреЗ рд░рд┐рдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреБрдЫ рдкреНрд░рд╛рдЪреАрди рдкрд╛рдВрдбреБрд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд╕рддреНрдпрд╛рдкрди рдХреА рдХрдореА рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдиреБрдЪреНрдЫреЗрдж 3 рдХрд╛ рдШреЛрд░ рдЙрд▓реНрд▓рдВрдШрди рд╣реИред
рджреЗрдЦреЛ,
рдпрд╣рд╛рдБ рд▓рд┐рдВрдХ рд╣реИред рдкреНрд░реЗрд╕, рдбрд░реЛ рдордд, рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдирд▓ рдЦреЛрд▓реЗрдВред рдЕрдиреБрд░реЛрдз рджреЗрдЦреЗрдВ?

рд░реЗрдлрд╝рд░рд░ рд╡рд┐рд▓реАрди рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХреЛрдб рд╡рд┐рд▓реАрди рд╣реЛ рдЧрдпрд╛ рд╣реИ - рдЕрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЗ VKontakte (рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рд╣реИ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд░рд┐рдкреЛрд░реНрдЯ рдПрдХ рд╣рдлреНрддреЗ рдкрд╣рд▓реЗ рдХреА рдЧрдИ рдереА, рдЬреАрд╡рд┐рдд рд▓реЛрдЧреЛрдВ рдФрд░ рдмреЙрдЯреНрд╕ рдХреА рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдереАред
рд╡рд┐рд╡рд┐рдз
рдпрджрд┐ рдЖрдк Implicit Flow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЕрд░реНрдерд╛рдд рдпрджрд┐ рдЖрдкрдХреЛ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ access_token рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЯреЛрдХрди рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╣реИред рд╡рд╣ рдХреЗрд╡рд▓ рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдЪреБрд░рд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЦрд╛рддреЗ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЯреЛрдХрди рдЖрдкрдХреЗ client_id рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, OAuth2 рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЖрдкрдХреЛ рдЕрдиреБрдорддрд┐ рджреА рдереА рдЬреЛ рдЖрдкрдиреЗ рд╕реНрдХреЛрдк рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЪрд░рдг рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдерд╛ред
рд╡рд╣ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рдХреЙрд▓рдмреИрдХ рдкрд░ рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЙрд╕рдиреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХреА рдЧрдИ рдЕрдиреБрдорддрд┐ рджреА рд╣реИред
рдпрджрд┐ XSS рд╕рд╛рдЗрдЯ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ access_token-s рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЪреЛрд░реА рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред рд╕рд╛рдЗрдЯ рдХреЛ рдлреЗрд╕рдмреБрдХ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХреГрдд URL рдХреЛ рд▓реЗрдВ рдФрд░ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде response_type = рдХреЛрдб рдмрджрд▓реЗрдВред рдпрд╣ рдЗрд╕ URL рдХреЛ рдлреНрд░реЗрдо рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рдЯреЛрдХрди рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдо рдХреЙрд▓рдмреИрдХ # access_token = 123 рдХреЗ рд▓рд┐рдВрдХ рдкрд░ рд▓реМрдЯреЗрдВ, рдЯреЛрдХрди рдХреЛ рдХрд╛рдЯреЗрдВ рдФрд░ рдЗрд╕реЗ рдорд░реНрдЬ рдХрд░реЗрдВред рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкрд░ рд╕реНрдкреИрдо!
0 рдПрдХ рдкреНрд░рднрд╛рдордВрдбрд▓ рдкрд░
рд╡рд╣реА рд╢реЛрд╖рдг рдлреЗрд╕рдмреБрдХ / рдЧреВрдЧрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдХрдард┐рди рд╣реИ - рдЖрдкрдХреЛ NoRedirect + FF рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЗрд╕рд▓рд┐рдП, рд╡реАрдХреЗ рдкрд░ рдбреЗрдореЛред
рдЪрд╛рдЪрд╛ рдиреЗ рд╕реНрдирд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ UPD:
рднреЗрджреНрдпрддрд╛ рддрдп рд╣реЛ рдЧрдИ рдереА ред
1. рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдВрд▓рдЧреНрди рд╡реАрдХреЗ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ oauth.vk.com/authorize?response_type=code&client_id=3110645&redirect_uri=http%3A%2F%2Fhabrahabr.ru&scope-offline&display=page
2. рдЖрдкрдХреЛ habrahabr.ru/?code=CODE рдкрд░ рд▓реМрдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛
3. рдПрдХ рдФрд░ habruiser рд╡рд┐рдЬрд┐рдЯ рдХрд░реЗрдВ habrahabr.ru/social/callback/vkontakte/?code=CODE&state=whogivesafuckaboutstate рдЖрдк рд▓рд┐рдВрдХ рдХреЛ рдЦреБрдж рд╣реА рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ img рдпрд╛ iframe, рдЖрджрд┐ рдореЗрдВ рдЫреБрдкрд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрджрд┐ рдпрд╣ рд╣рдм рдореЗрдВ рд▓реЙрдЧ рдЗрди рд╣реИ, рддреЛ рдЖрдкрдХрд╛ VK рдЙрд╕рдХреЗ рд╣рдм рдЦрд╛рддреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
4. рдЕрдкрдиреЗ рд╡реАрдХреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рд╣реЗрдмрд░реЗрдХрд╛рдЙрдВрдЯ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ, рдЕрдкрдиреЗ рдЕрд╡рддрд╛рд░ рдХреЛ рдирдпрдирдд рдореЗрдВ рдмрджрд▓реЗрдВредрдиреИрддрд┐рдХрддрд╛
Vkontakte : рд╕рдорд░реНрдерди рдореЗрдВ рдкрддреНрд░реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ, рдпрд╛ рдЕрдкрдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрдХ рдорд╛рддреНрд░ рдирд╢реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВред рдмрд╛рдЙрдВрдЯреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рднреА рджрд░реНрдЬ рдХрд░реЗрдВ (рд╡реНрдпрдВрдЧреНрдп: рдЗрд╕ рдкрд░ рдЯреВрдЯрдиреЗ рдХрд╛ рдЦрддрд░рд╛ рд╣реИ)ред
Habr : рдореИрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП
рдХреАрдорд╛рд╕реНрдЯрд░ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдХреБрдХреА / рд╕рддреНрд░ рд╕реЗ рдорд╛рди рдХреЗ рд╕рд╛рде 'рд░рд╛рдЬреНрдп' рдХреА рд╕рд╣реА рдЬрд╛рдБрдЪ рдХрд░рдХреЗ рднреЗрджреНрдпрддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рд░реЛрдб рдЯреВ рд╣реЗрд▓ рдХрдо рд╣реИред рдЖрдк рдмреЛрд░рд┐рдВрдЧ рдЯреЛрдХрди - OAuth2.a (
рдЪрд╛рд░реНрдо - рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ ) рдХреЗ рд╕рд╛рде рдПрдХ рдореМрд▓рд┐рдХ рдирдП рдорд╛рдирдХ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдЪ рд╣реИ, рдХреЛрдИ рдХреБрдХреАрдЬрд╝ рдирд╣реАрдВред
Egor Homakov (
@homakov ) рдФрд░
isciurus #RT pls

UPD2:
Habr рдиреЗ рднреЗрджреНрдпрддрд╛ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, vkontakte рдиреЗ рд╕рднреА рдирдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рд▓рд┐рдП redirect_uri рдЪреЗрдХ рдЬреЛрдбрд╝рд╛, facebook "рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдкрд╣реБрдВрдЪ рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдбреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ 10 рдорд┐рдирдЯ рдХреЗ рднреАрддрд░ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛" рдФрд░ "рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдмрдЧ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реА рд╕реБрд░рдХреНрд╖рд╛ рдЯреАрдо рдиреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЖрдк $ 2,000 USD рдХрд╛ рдмрд╛рдЙрдВрдЯреА рднреБрдЧрддрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдпреЛрдЧреНрдп рд╣реИрдВ", рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ FAQ рдЙрдард╛рдпрд╛,
рд▓реЛрдЧ рдмрд╛рдЙрдВрдЯреА рд╡реАрдХреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдзрд╛рд░рдгрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ ред