SOME - Same Origin Method Execution
Same Origin Method Execution
рдРрд╕реЗ рдЕрд╡рд╕рд░ рд╣реЛрдВрдЧреЗ рдЬрд╣рд╛рдБ рдЖрдк рдПрдХ рдкреГрд╖реНрда рдореЗрдВ рдХреБрдЫ рд╕реАрдорд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╣рд╛рдБ рдЖрдк рдПрдХ рдХреЙрд▓рдмреИрдХ рдорд╛рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдЧрд╛ред
рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рдЬреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ DOM рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рддрд╛рдХрд┐ рдЖрдк рд╡рд╣рд╛рдБ рдЬреЛ рднреА рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХреНрд░рд┐рдпрд╛ рдкрд╛ рд╕рдХреЗрдВ рдЙрд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХреЗрдВ (рдЬреИрд╕реЗ рдПрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдорддреМрд░ рдкрд░ рдЖрдк рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЛ рдЫреЛрдЯреЗ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдореЗрдВ рдкрд╛рдПрдВрдЧреЗ рдЬрд┐рдирдореЗрдВ DOM рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬ рдирд╣реАрдВ рд╣реИред
рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ, рдпрд╣ рд╣рдорд▓рд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд▓рдХреНрд╖реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╣реА рдбреЛрдореЗрди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреГрд╖реНрда рд╕реЗ DOM рдХреЗ рдЕрдВрджрд░ рд╕реАрдорд┐рдд JS рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдХреНрд░рд┐рдпрд╛рдПрдБ рд╣реИрдВред
рдмреБрдирд┐рдпрд╛рджреА рд░реВрдк рд╕реЗ, рд╣рдорд▓реЗ рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
рдПрдХ рдХреЙрд▓рдмреИрдХ рдЦреЛрдЬреЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ [\w\._] рддрдХ рд╕реАрдорд┐рдд)ред
рдпрджрд┐ рдпрд╣ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк рдХреЛрдИ рднреА JS рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп XSS рдХреЗ рд░реВрдк рдореЗрдВ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╢рд┐рдХрд╛рд░ рдХреЛ рдПрдХ рдкреГрд╖реНрда рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдВ рдЬреЛ рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реИред
рдкреГрд╖реНрда рд╕реНрд╡рдпрдВ рдПрдХ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреБрд▓реЗрдЧрд╛ (рдирдИ рд╡рд┐рдВрдбреЛ рдореЗрдВ
opener
рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдПрдХ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдЧрд╛)редрдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреГрд╖реНрда рдЙрд╕ рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдБ рджрд┐рд▓рдЪрд╕реНрдк DOM рд╕реНрдерд┐рдд рд╣реИред
рджреВрд╕рд░рд╛ рдкреГрд╖реНрда рдХреЙрд▓рдмреИрдХ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрдордЬреЛрд░ рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдФрд░
opener
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреГрд╖реНрда рдореЗрдВ рдХреБрдЫ рдХреНрд░рд┐рдпрд╛ рддрдХ рдкрд╣реБрдБрдЪ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ (рдЬреЛ рдЕрдм рджрд┐рд▓рдЪрд╕реНрдк DOM рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ)ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рднрд▓реЗ рд╣реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреГрд╖реНрда рджреВрд╕рд░реЗ рдкреГрд╖реНрда рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдирдП URL рддрдХ рдкрд╣реБрдБрдЪрддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдкреГрд╖реНрда рдХрд╛ opener
рдСрдмреНрдЬреЗрдХреНрдЯ рдирдП DOM рдореЗрдВ рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдПрдХ рдорд╛рдиреНрдп рд╕рдВрджрд░реНрдн рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреВрд╕рд░реЗ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдУрдкрдирд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдПрдХ рд╣реА рдореВрд▓ рдореЗрдВ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐, рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХрд╛ XSS рдПрдХ рд╣реА рдореВрд▓ рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
Exploitation
рдЖрдк рдЗрд╕ рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рднреЗрджреНрдпрддрд╛ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ PoC рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://www.someattack.com/Playground/SOMEGenerator
рдПрдХ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде HTML рддрддреНрд╡ рдХреЗ рд▓рд┐рдП DOM рдкрде рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://www.someattack.com/Playground/targeting_tool
Example
рдЖрдк рдПрдХ рдХрдордЬреЛрд░ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ: https://www.someattack.com/Playground/
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕рд░реНрд╡рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ HTML рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ:
<script>opener.{callbacl_content}</script>
ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЖрдкрдХреЛopener
рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИредрдЗрд╕ CTF рд▓реЗрдЦрди рдХреЛ рднреА рджреЗрдЦреЗрдВ: https://ctftime.org/writeup/36068
References
Last updated