# CSRF (Cross Site Request Forgery) {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters! **Hacking Insights**\ Engage with content that delves into the thrill and challenges of hacking **Real-Time Hack News**\ Keep up-to-date with fast-paced hacking world through real-time news and insights **Latest Announcements**\ Stay informed with the newest bug bounties launching and crucial platform updates **Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today! ## Cross-Site Request Forgery (CSRF) Explained **Cross-Site Request Forgery (CSRF)** рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрдордЬреЛрд░реА рд╣реИ рдЬреЛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИред рдпрд╣ рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдХреЛ рдЕрдирдЬрд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдУрд░ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЙрдирдХреЗ рдкреНрд░рдорд╛рдгрд┐рдд рд╕рддреНрд░реЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ред рдпрд╣ рд╣рдорд▓рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдЬреЛ рдХрд┐рд╕реА рдкреАрдбрд╝рд┐рдд рдХреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рд▓реЙрдЧ рдЗрди рд╣реИ, рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рд╛рдЗрдЯ рдлрд┐рд░ рдкреАрдбрд╝рд┐рдд рдХреЗ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛, рдлреЙрд░реНрдо рд╕рдмрдорд┐рдЯ рдХрд░рдирд╛, рдпрд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдирд╛ред ### Prerequisites for a CSRF Attack CSRF рдХрдордЬреЛрд░реА рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдИ рд╢рд░реНрддреЗрдВ рдкреВрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП: 1. **рдПрдХ рдореВрд▓реНрдпрд╡рд╛рди рдХреНрд░рд┐рдпрд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ**: рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдп рдЦреЛрдЬрдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб, рдИрдореЗрд▓ рдмрджрд▓рдирд╛, рдпрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдмрдврд╝рд╛рдирд╛ред 2. **рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди**: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╕рддреНрд░ рдХреЗрд╡рд▓ рдХреБрдХреАрдЬрд╝ рдпрд╛ HTTP рдмреЗрд╕рд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╣реЗрдбрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рд╣реЗрдбрд░ рдХрд╛ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╣реЗрд░рдлреЗрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред 3. **рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЕрднрд╛рд╡**: рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╣рдорд▓реЗ рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВред ### Quick Check рдЖрдк **Burp рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреЛ рдХреИрдкреНрдЪрд░** рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ CSRF рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк **Copy as fetch** рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреБрд░реЛрдз рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
### Defending Against CSRF CSRF рд╣рдорд▓реЛрдВ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рддрд┐рдХреВрд▓ рдЙрдкрд╛рдп рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: * [**SameSite рдХреБрдХреАрдЬрд╝**](hacking-with-cookies/#samesite): рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХреНрд░реЙрд╕-рд╕рд╛рдЗрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдХреАрдЬрд╝ рднреЗрдЬрдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИред [SameSite рдХреБрдХреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ](hacking-with-cookies/#samesite)ред * [**рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд░рд┐рд╕реЛрд░реНрд╕ рд╢реЗрдпрд░рд┐рдВрдЧ**](cors-bypass.md): рдкреАрдбрд╝рд┐рдд рд╕рд╛рдЗрдЯ рдХреА CORS рдиреАрддрд┐ рд╣рдорд▓реЗ рдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрджрд┐ рд╣рдорд▓реЗ рдХреЛ рдкреАрдбрд╝рд┐рдд рд╕рд╛рдЗрдЯ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред [CORS рдмрд╛рдпрдкрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВ](cors-bypass.md)ред * **рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрдпрд╛рдкрди**: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдорд╛рдВрдЧрдирд╛ рдпрд╛ рдХреИрдкреНрдЪрд╛ рд╣рд▓ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдордВрд╢рд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИред * **рд░реЗрдлрд░рд░ рдпрд╛ рдУрд░рд┐рдЬрд┐рди рд╣реЗрдбрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛**: рдЗрди рд╣реЗрдбрд░реЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдирд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, URLs рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рдЬрд╛рдВрдЪреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ: * `http://mal.net?orig=http://example.com` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (URL рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп URL рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ) * `http://example.com.mal.net` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (URL рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп URL рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ) * **рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдореЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди**: POST рдпрд╛ GET рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣рдорд▓реЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред * **CSRF рдЯреЛрдХрди**: рдкреНрд░рддреНрдпреЗрдХ рд╕рддреНрд░ рдореЗрдВ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп CSRF рдЯреЛрдХрди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдФрд░ рдЗрд╕ рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЕрдЧрд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рд░рдЦрдирд╛ CSRF рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЯреЛрдХрди рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЛ CORS рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдпреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдЕрдЦрдВрдбрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред ## Defences Bypass ### From POST to GET рд╢рд╛рдпрдж рдЬрд┐рд╕ рдлреЙрд░реНрдо рдХрд╛ рдЖрдк рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ **CSRF рдЯреЛрдХрди рдХреЗ рд╕рд╛рде POST рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ**, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ **рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП** рдХрд┐ рдХреНрдпрд╛ рдПрдХ **GET** рднреА **рдорд╛рдиреНрдп** рд╣реИ рдФрд░ рдпрджрд┐ рдЬрдм рдЖрдк GET рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ рддреЛ **CSRF рдЯреЛрдХрди рдЕрднреА рднреА рдорд╛рдиреНрдп рд╣реИ**ред ### Lack of token рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдПрдХ рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ **рдЯреЛрдХрди рдХреА рд╡реИрдзрддрд╛** рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛ рд╕рдХреЗ рдЬрдм рд╡реЗ рдореМрдЬреВрдж рд╣реЛрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рдХрдордЬреЛрд░реА рддрдм рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ рдЬрдм рдЯреЛрдХрди рдХреЗ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реЛрдиреЗ рдкрд░ рдорд╛рдиреНрдпрддрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреА рдЬрд╛рддреА рд╣реИред рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕ рдкрд░ **рдЯреЛрдХрди рд▓реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╣рдЯрд╛ рдХрд░** рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рдорд╛рди рдХреЛред рдЗрд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдПрдХ рдХреНрд░реЙрд╕-рд╕рд╛рдЗрдЯ рдЕрдиреБрд░реЛрдз рдзреЛрдЦрд╛рдзрдбрд╝реА (CSRF) рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред ### CSRF token is not tied to the user session рдЕрдиреБрдкреНрд░рдпреЛрдЧ **CSRF рдЯреЛрдХрдиреЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рд╕реЗ рдирд╣реАрдВ рдЬреЛрдбрд╝рдиреЗ** рдкрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг **рд╕реБрд░рдХреНрд╖рд╛ рдЬреЛрдЦрд┐рдо** рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рд╕рд┐рд╕реНрдЯрдо рдЯреЛрдХрдиреЛрдВ рдХреЛ рдПрдХ **рд╡реИрд╢реНрд╡рд┐рдХ рдкреВрд▓** рдХреЗ рдЦрд┐рд▓рд╛рдл рдорд╛рдиреНрдп рдХрд░рддреЗ рд╣реИрдВ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЯреЛрдХрди рдХреЛ рдЖрд░рдВрднрд┐рдХ рд╕рддреНрд░ рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реИрдВ: 1. **рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░реЗрдВ**ред 2. **рд╡реИрдз CSRF рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ** рд╡реИрд╢реНрд╡рд┐рдХ рдкреВрд▓ рд╕реЗред 3. **рдЗрд╕ рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ** рдПрдХ CSRF рд╣рдорд▓реЗ рдореЗрдВ рдкреАрдбрд╝рд┐рдд рдХреЗ рдЦрд┐рд▓рд╛рдлред рдпрд╣ рдХрдордЬреЛрд░реА рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдХреЛ рдкреАрдбрд╝рд┐рдд рдХреА рдУрд░ рд╕реЗ рдЕрдирдзрд┐рдХреГрдд рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА **рдЕрдкрд░реНрдпрд╛рдкреНрдд рдЯреЛрдХрди рдорд╛рдиреНрдпрддрд╛ рддрдВрддреНрд░** рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реБрдПред ### Method bypass рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдПрдХ "**рдЕрдЬреАрдм**" **рд╡рд┐рдзрд┐** рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ **рд╡рд┐рдзрд┐** **рдУрд╡рд░рд░рд╛рдЗрдб рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛** рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдпрд╣ **PUT** рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк **POST** рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ **рднреЗрдЬреЗрдВ**: _https://example.com/my/dear/api/val/num?**\_method=PUT**_ рдпрд╣ **POST рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдВрджрд░ \_method рдкреИрд░рд╛рдореАрдЯрд░** рднреЗрдЬрдХрд░ рдпрд╛ **рд╣реЗрдбрд░** рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ: * _X-HTTP-Method_ * _X-HTTP-Method-Override_ * _X-Method-Override_ ### Custom header token bypass рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдПрдХ **рдХрд╕реНрдЯрдо рд╣реЗрдбрд░** рдХреЗ рд╕рд╛рде рдПрдХ **рдЯреЛрдХрди** рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ **CSRF рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рдзрд┐** рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ: * **рдХрд╕реНрдЯрдорд╛рдЗрдЬреНрдб рдЯреЛрдХрди рдФрд░ рд╣реЗрдбрд░ рдХреЗ рдмрд┐рдирд╛ рдЕрдиреБрд░реЛрдз рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред** * **рд╕рдЯреАрдХ рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рд▓реЗрдХрд┐рди рдЕрд▓рдЧ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред** ### CSRF token is verified by a cookie рдЕрдиреБрдкреНрд░рдпреЛрдЧ CSRF рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдЯреЛрдХрди рдХреЛ рдХреБрдХреА рдФрд░ рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ рджреЛрдиреЛрдВ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдХреЗ рдпрд╛ рдПрдХ CSRF рдХреБрдХреА рд╕реЗрдЯ рдХрд░рдХреЗ рдФрд░ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмреИрдХрдПрдВрдб рдореЗрдВ рднреЗрдЬрд╛ рдЧрдпрд╛ рдЯреЛрдХрди рдХреБрдХреА рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░рддрд╛ рд╣реИ рдпрд╣ рдЬрд╛рдВрдЪрдХрд░ рдХрд┐ рдХреНрдпрд╛ рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдЯреЛрдХрди рдХреБрдХреА рдореЗрдВ рдорд╛рди рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рдРрд╕реЗ рджреЛрд╖ рд╣реИрдВ рдЬреЛ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдкреАрдбрд╝рд┐рдд рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ CSRF рдХреБрдХреА рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ CRLF рдХрдордЬреЛрд░реА, рддреЛ рдпрд╣ рд╡рд┐рдзрд┐ CSRF рд╣рдорд▓реЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИред рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕ рдкрд░ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХ рдзреЛрдЦрд╛рдзрдбрд╝реА рдЫрд╡рд┐ рд▓реЛрдб рдХрд░рдХреЗ рдЬреЛ рдХреБрдХреА рд╕реЗрдЯ рдХрд░рддреА рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж CSRF рд╣рдорд▓реЗ рдХреЛ рд╢реБрд░реВ рдХрд░рддреА рд╣реИред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдПрдХ рд╣рдорд▓рд╛ рдХреИрд╕реЗ рд╕рдВрд░рдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: ```html
``` {% hint style="info" %} рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ **csrf рдЯреЛрдХрди рд╕рддреНрд░ рдХреБрдХреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рддреЛ рдпрд╣ рд╣рдорд▓рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛** рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдкреАрдбрд╝рд┐рдд рдХрд╛ рд╕рддреНрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк рдЦреБрдж рдкрд░ рд╣рдорд▓рд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗред {% endhint %} ### Content-Type рдкрд░рд┐рд╡рд░реНрддрди [**рдЗрд╕**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\_requests) рдХреЗ рдЕрдиреБрд╕рд╛рд░, **preflight** рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП **POST** рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпреЗ рдЕрдиреБрдордд Content-Type рдорд╛рди рд╣реИрдВ: * **`application/x-www-form-urlencoded`** * **`multipart/form-data`** * **`text/plain`** рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ **рд╕рд░реНрд╡рд░ рдХреА рд▓реЙрдЬрд┐рдХ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ** рдЬреЛ **Content-Type** рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдорд╛рдиреЛрдВ рдФрд░ рдЕрдиреНрдп рдЬреИрд╕реЗ **`application/json`**_**,**_**`text/xml`**, **`application/xml`**_._ рдХреЛ рдЖрдЬрдорд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг ( [рдпрд╣рд╛рдВ](https://brycec.me/posts/corctf\_2021\_challenges) рд╕реЗ) JSON рдбреЗрдЯрд╛ рдХреЛ text/plain рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрдиреЗ рдХрд╛: ```html
``` ### JSON рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ рдЬрдм POST рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ JSON рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ HTML рдлреЙрд░реНрдо рдореЗрдВ `Content-Type: application/json` рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЗрд╕реА рддрд░рд╣, рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `XMLHttpRequest` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдПрдХ рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ рдЕрдиреБрд░реЛрдз рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдФрд░ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд░рдгрдиреАрддрд┐рдпрд╛рдБ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╕рд░реНрд╡рд░ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ JSON рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ: 1. **рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ**: рдлреЙрд░реНрдо рдореЗрдВ `enctype="text/plain"` рд╕реЗрдЯ рдХрд░рдХреЗ `Content-Type: text/plain` рдпрд╛ `Content-Type: application/x-www-form-urlencoded` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдмреИрдХрдПрдВрдб рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЪрд╛рд╣реЗ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдХреБрдЫ рднреА рд╣реЛред 2. **рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ**: рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ рдЕрдиреБрд░реЛрдз рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдмрдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рд╕рд░реНрд╡рд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ JSON рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ, рдЖрдк рдбреЗрдЯрд╛ рдХреЛ `Content-Type: text/plain; application/json` рдХреЗ рд╕рд╛рде рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ рдЕрдиреБрд░реЛрдз рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрджрд┐ рд╕рд░реНрд╡рд░ рдХреЛ `application/json` рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред 3. **SWF рдлреНрд▓реИрд╢ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ**: рдПрдХ рдХрдо рд╕рд╛рдорд╛рдиреНрдп рд▓реЗрдХрд┐рди рд╕рдВрднрд╡ рд╡рд┐рдзрд┐ рдореЗрдВ рдРрд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SWF рдлреНрд▓реИрд╢ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕ рддрдХрдиреАрдХ рдХреА рдЧрд╣рди рд╕рдордЭ рдХреЗ рд▓рд┐рдП, [рдЗрд╕ рдкреЛрд╕реНрдЯ](https://anonymousyogi.medium.com/json-csrf-csrf-that-none-talks-about-c2bf9a480937) рдХреЛ рджреЗрдЦреЗрдВред ### рд░реЗрдлрд░рд░ / рдореВрд▓ рдЬрд╛рдВрдЪ рдмрд╛рдпрдкрд╛рд╕ **рд░реЗрдлрд░рд░ рд╣реЗрдбрд░ рд╕реЗ рдмрдЪреЗрдВ** рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗрд╡рд▓ рддрдм 'Referer' рд╣реЗрдбрд░ рдХреЛ рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдпрд╣ рдореМрдЬреВрдж рд╣реЛред рдЗрд╕ рд╣реЗрдбрд░ рдХреЛ рднреЗрдЬрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд HTML рдореЗрдЯрд╛ рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: ```xml ``` рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ 'Referer' рд╣реЗрдбрд░ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреБрдЫ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдорд╛рдиреНрдпрддрд╛ рдЬрд╛рдВрдЪреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред **Regexp рдмрд╛рдпрдкрд╛рд╕** {% content-ref url="ssrf-server-side-request-forgery/url-format-bypass.md" %} [url-format-bypass.md](ssrf-server-side-request-forgery/url-format-bypass.md) {% endcontent-ref %} Referrer рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЕрдВрджрд░ URL рдореЗрдВ рд╕рд░реНрд╡рд░ рдХрд╛ рдбреЛрдореЗрди рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: ```html
``` ### **HEAD рд╡рд┐рдзрд┐ рдмрд╛рдпрдкрд╛рд╕** [**рдЗрд╕ CTF рд▓реЗрдЦ**](https://github.com/google/google-ctf/tree/master/2023/web-vegsoda/solution) рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ [Oak рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб](https://github.com/oakserver/oak/blob/main/router.ts#L281), рдПрдХ рд░рд╛рдЙрдЯрд░ рдХреЛ **HEAD рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ GET рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрднрд╛рд▓рдиреЗ** рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд░реАрд░ рдирд╣реАрдВ рд╣реИ - рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдЬреЛ Oak рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рдирд╣реАрдВ рд╣реИред HEAD reqs рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдмрдЬрд╛рдп, рдЙрдиреНрд╣реЗрдВ рдмрд╕ **GET рд╣реИрдВрдбрд▓рд░ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдРрдк рдмрд╕ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд░реАрд░ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ**ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ GET рдЕрдиреБрд░реЛрдз рдХреЛ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ **рдПрдХ HEAD рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ GET рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛**ред ## **рд╢реЛрд╖рдг рдЙрджрд╛рд╣рд░рдг** ### **CSRF рдЯреЛрдХрди рдирд┐рдХрд╛рд▓рдирд╛** рдпрджрд┐ **CSRF рдЯреЛрдХрди** рдХреЛ **рд░рдХреНрд╖рд╛** рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк **рдЗрд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ** рдХреЗ рд▓рд┐рдП [**XSS**](xss-cross-site-scripting/#xss-stealing-csrf-tokens) рднреЗрджреНрдпрддрд╛ рдпрд╛ [**Dangling Markup**](dangling-markup-html-scriptless-injection/) рднреЗрджреНрдпрддрд╛ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ### **HTML рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ GET** ```xml

404 - Page not found

The URL you are requesting is no longer available ``` рдЕрдиреНрдп HTML5 рдЯреИрдЧ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ GET рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: ```html