Special HTTP headers

рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ AWS рд╣реИрдХрд┐рдВрдЧ:HackTricks Training AWS Red Team Expert (ARTE) рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ GCP рд╣реИрдХрд┐рдВрдЧ: HackTricks Training GCP Red Team Expert (GRTE)

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

рд╡рд░реНрдбрд▓рд┐рд╕реНрдЯ рдФрд░ рдЙрдкрдХрд░рдг

рд╕реНрдерд╛рди рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░

IP рд╕реНрд░реЛрдд рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВ:

  • X-Originating-IP: 127.0.0.1

  • X-Forwarded-For: 127.0.0.1

  • X-Forwarded: 127.0.0.1

  • Forwarded-For: 127.0.0.1

  • X-Forwarded-Host: 127.0.0.1

  • X-Remote-IP: 127.0.0.1

  • X-Remote-Addr: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • X-Original-URL: 127.0.0.1

  • Client-IP: 127.0.0.1

  • X-Client-IP: 127.0.0.1

  • X-Host: 127.0.0.1

  • True-Client-IP: 127.0.0.1

  • Cluster-Client-IP: 127.0.0.1

  • Via: 1.0 fred, 1.1 127.0.0.1

  • Connection: close, X-Forwarded-For (рд╣реЙрдк-рдмрд╛рдп-рд╣реЙрдк рд╣реЗрдбрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ)

рд╕реНрдерд╛рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВ:

  • X-Original-URL: /admin/console

  • X-Rewrite-URL: /admin/console

рд╣реЙрдк-рдмрд╛рдп-рд╣реЙрдк рд╣реЗрдбрд░

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

  • Connection: close, X-Forwarded-For

hop-by-hop headers

HTTP рдЕрдиреБрд░реЛрдз рд╕реНрдордЧрд▓рд┐рдВрдЧ

  • Content-Length: 30

  • Transfer-Encoding: chunked

HTTP Request Smuggling / HTTP Desync Attack

рдХреИрд╢ рд╣реЗрдбрд░

рд╕рд░реНрд╡рд░ рдХреИрд╢ рд╣реЗрдбрд░:

  • X-Cache рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдорд╛рди miss рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЕрдиреБрд░реЛрдз рдХреИрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдорд╛рди hit рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЗрд╕реЗ рдХреИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

  • рд╣реЗрдбрд░ Cf-Cache-Status рдореЗрдВ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░

  • Cache-Control рдпрд╣ рд╕рдВрдХреЗрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдЧрд▓реА рдмрд╛рд░ рдХрдм рд╕рдВрд╕рд╛рдзрди рдлрд┐рд░ рд╕реЗ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: Cache-Control: public, max-age=1800

  • Vary рдЕрдХреНрд╕рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЗрдбрд░ рдХреЛ рдХреИрд╢ рдХреБрдВрдЬреА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдЕрдирдХреАрдб рд╣реЛрдВред

  • Age рдЙрд╕ рд╕рдордп рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реЗрдХрдВрдб рдореЗрдВ рд╡рд╕реНрддреБ рдкреНрд░реЙрдХреНрд╕реА рдХреИрд╢ рдореЗрдВ рд░рд╣реА рд╣реИред

  • Server-Timing: cdn-cache; desc=HIT рдпрд╣ рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

Cache Poisoning and Cache Deception

рд╕реНрдерд╛рдиреАрдп рдХреИрд╢ рд╣реЗрдбрд░:

  • Clear-Site-Data: рд╣реЗрдбрд░ рдЬреЛ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╢ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: Clear-Site-Data: "cache", "cookies"

  • Expires: рдЙрд╕ рджрд┐рдирд╛рдВрдХ/рд╕рдордп рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП: Expires: Wed, 21 Oct 2015 07:28:00 GMT

  • Pragma: no-cache Cache-Control: no-cache рдХреЗ рд╕рдорд╛рди

  • Warning: рд╕рд╛рдорд╛рдиреНрдп HTTP рд╣реЗрдбрд░ Warning рд╕рдВрджреЗрд╢ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ Warning рд╣реЗрдбрд░ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред Warning: 110 anderson/1.3.37 "Response is stale"

рдХрдВрдбреАрд╢рдирд▓реНрд╕

  • рдЗрди рд╣реЗрдбрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз: If-Modified-Since рдФрд░ If-Unmodified-Since рдХреЗрд╡рд▓ рддрдм рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА рдЬрд╛рдПрдЧреА рдЬрдм рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЗрдбрд░**Last-Modified** рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд╕рдордп рд╣реЛред

  • If-Match рдФрд░ If-None-Match рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдбреАрд╢рдирд▓ рдЕрдиреБрд░реЛрдз рдПрдХ Etag рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рднреЗрдЬреЗ рдпрджрд┐ рдбреЗрдЯрд╛ (Etag) рдмрджрд▓ рдЧрдпрд╛ рд╣реИред Etag HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  • Etag рдорд╛рди рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ETag: W/"37-eL2g8DEyqntYlaLp5XLInBWsjWI" рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ Etag 37 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ Sha1 рд╣реИред

рд░реЗрдВрдЬ рдЕрдиреБрд░реЛрдз

  • Accept-Ranges: рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕рд░реНрд╡рд░ рд░реЗрдВрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд░реЗрдВрдЬ рдХреЛ рдХрд┐рд╕ рдЗрдХрд╛рдИ рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Accept-Ranges: <range-unit>

  • Range: рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдХреМрди рд╕рд╛ рднрд╛рдЧ рд▓реМрдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

  • If-Range: рдПрдХ рдХрдВрдбреАрд╢рдирд▓ рд░реЗрдВрдЬ рдЕрдиреБрд░реЛрдз рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рддрдм рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рджрд┐рдпрд╛ рдЧрдпрд╛ etag рдпрд╛ рддрд┐рдерд┐ рджреВрд░рд╕реНрде рд╕рдВрд╕рд╛рдзрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдЕрд╕рдВрдЧрдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рджреЛ рд░реЗрдВрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  • Content-Range: рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдкреВрд░реНрдг рдмреЙрдбреА рд╕рдВрджреЗрд╢ рдореЗрдВ рдПрдХ рдЖрдВрд╢рд┐рдХ рд╕рдВрджреЗрд╢ рдХрд╣рд╛рдБ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рд╕рдВрджреЗрд╢ рд╢рд░реАрд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА

  • Content-Length: рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЖрдХрд╛рд░, рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ред

  • Content-Type: рд╕рдВрд╕рд╛рдзрди рдХреЗ рдореАрдбрд┐рдпрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ

  • Content-Encoding: рд╕рдВрдХреБрдЪрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  • Content-Language: рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рдорд╛рдирд╡ рднрд╛рд╖рд╛(рдУрдВ) рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрдирдХреЗ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рднреЗрдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

  • Content-Location: рд▓реМрдЯрд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдерд╛рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдкреЗрдВрдЯреЗрд╕реНрдЯ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЖрдорддреМрд░ рдкрд░ "рд╡реНрдпрд░реНрде" рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╕рдВрд╕рд╛рдзрди 401 рдпрд╛ 403 рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ рдФрд░ рдЖрдк рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдвреВрдВрдв рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ HEAD рдЕрдиреБрд░реЛрдз рдореЗрдВ Range рдФрд░ Etag рдХрд╛ рд╕рдВрдпреЛрдЬрди рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ HEAD рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

  • Range: bytes=20-20 рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрд░реЛрдз рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ ETag: W/"1-eoGvPlkaxxP4HqHv6T3PNhV9g3Y" рд╣реИ, рдпрд╣ рд▓реАрдХ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдмрд╛рдЗрдЯ 20 рдХрд╛ SHA1 рд╣реИ ETag: eoGvPlkaxxP4HqHv6T3PNhV9g3Y

рд╕рд░реНрд╡рд░ рдЬрд╛рдирдХрд╛рд░реА

  • Server: Apache/2.4.1 (Unix)

  • X-Powered-By: PHP/5.3.3

рдирд┐рдпрдВрддреНрд░рдг

  • Allow: рдпрд╣ рд╣реЗрдбрд░ рдпрд╣ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреМрди рд╕реЗ HTTP рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ Allow: GET, POST, HEAD, рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

  • Expect: рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рди рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ Expect: 100-continue рд╣реЗрдбрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬреЛ рд╕рдВрдХреЗрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдХ рдмрдбрд╝рд╛ рдбреЗрдЯрд╛ рдкреЗрд▓реЛрдб рднреЗрдЬрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рд╕рд╛рд░рдг рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 100 (Continue) рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рддрдВрддреНрд░ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдпреЛрдЧ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд░реНрд╡рд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред

рдбрд╛рдЙрдирд▓реЛрдб

  • HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ Content-Disposition рд╣реЗрдбрд░ рдпрд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ inline (рд╡реЗрдмрдкреГрд╖реНрда рдХреЗ рднреАрддрд░) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдПрдХ рд╕рдВрд▓рдЧреНрдирдХ (рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛) рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

Content-Disposition: attachment; filename="filename.jpg"

рдпрд╣ рдорддрд▓рдм рд╣реИ рдХрд┐ "filename.jpg" рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕реБрд░рдХреНрд╖рд╛ рд╣реЗрдбрд░

рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ (CSP)

Content Security Policy (CSP) Bypass

рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдХрд╛рд░

CSP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ, рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ DOM XSS рд╣рдорд▓реЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдХрд╛рд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдЬреЛ рд╕реНрдерд╛рдкрд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ, рдЦрддрд░рдирд╛рдХ рд╡реЗрдм API рдХреЙрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ JavaScript рдХреЛрдб рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

// Feature detection
if (window.trustedTypes && trustedTypes.createPolicy) {
// Name and create a policy
const policy = trustedTypes.createPolicy('escapePolicy', {
createHTML: str => str.replace(/\</g, '&lt;').replace(/>/g, '&gt;');
});
}
// Assignment of raw strings is blocked, ensuring safety.
el.innerHTML = 'some string'; // Throws an exception.
const escaped = policy.createHTML('<img src=x onerror=alert(1)>');
el.innerHTML = escaped;  // Results in safe assignment.

X-Content-Type-Options

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

X-Content-Type-Options: nosniff

X-Frame-Options

рдХреНрд▓рд┐рдХрдЬреИрдХрд┐рдВрдЧ рд╕реЗ рд▓рдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╣реЗрдбрд░ рдпрд╣ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ <frame>, <iframe>, <embed>, рдпрд╛ <object> рдЯреИрдЧ рдореЗрдВ рдХреИрд╕реЗ рдПрдореНрдмреЗрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдЙрдирдХреА рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИред

X-Frame-Options: DENY

Cross-Origin Resource Policy (CORP) рдФрд░ Cross-Origin Resource Sharing (CORS)

CORP рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд╕рдВрд╕рд╛рдзрди рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрд░реЙрд╕-рд╕рд╛рдЗрдЯ рд▓реАрдХ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реБрдПред рджреВрд╕рд░реА рдУрд░, CORS рдПрдХ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рдВрд╕рд╛рдзрди рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рд╕рдорд╛рди-рдЙрддреНрдкрддреНрддрд┐ рдиреАрддрд┐ рдХреЛ рдвреАрд▓рд╛ рдХрд░рддреЗ рд╣реБрдПред

Cross-Origin-Resource-Policy: same-origin
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Credentials: true

Cross-Origin Embedder Policy (COEP) рдФрд░ Cross-Origin Opener Policy (COOP)

COEP рдФрд░ COOP рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рдЖрдЗрд╕реЛрд▓реЗрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рдЬреЛ рд╕реНрдкреЗрдХреНрдЯреНрд░реЗ-рдЬреИрд╕реЗ рд╣рдорд▓реЛрдВ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдХреНрд░рдорд╢рдГ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin-allow-popups

HTTP Strict Transport Security (HSTS)

рдЕрдВрдд рдореЗрдВ, HSTS рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╕реБрд░рдХреНрд╖рд┐рдд HTTPS рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддреА рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЧреЛрдкрдиреАрдпрддрд╛ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдмрдврд╝рд╛рддреА рд╣реИред

Strict-Transport-Security: max-age=3153600

рд╕рдВрджрд░реНрдн

AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE) GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)

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

Last updated