hacktricks/pentesting-web/http-connection-request-smuggling.md

5.8 KiB

HTTP Connection Request Smuggling

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

рдпрд╣ рдкреЛрд╕реНрдЯ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ https://portswigger.net/research/browser-powered-desync-attacks

Connection State Attacks

First-request Validation

рдЬрдм рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд░реВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА Host header рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЧрдВрддрд╡реНрдп рдмреИрдХ-рдПрдВрдб рд╕рд░реНрд╡рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЕрдХреНрд╕рд░ рдЙрди рд╣реЛрд╕реНрдЯреЛрдВ рдХреА рдПрдХ рд╡реНрд╣рд╛рдЗрдЯрд▓рд┐рд╕реНрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рдкреНрд░реЙрдХреНрд╕рд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдХрдордЬреЛрд░ рдмрд┐рдВрджреБ рд╣реИ рдЬрд╣рд╛рдБ рд╡реНрд╣рд╛рдЗрдЯрд▓рд┐рд╕реНрдЯ рдХреЗрд╡рд▓ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрдиреБрд░реЛрдз рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рдкрд╣рд▓реЗ рдПрдХ рдЕрдиреБрдордд рд╣реЛрд╕реНрдЯ рдкрд░ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрд╕реА рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕рд╛рдЗрдЯ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

GET / HTTP/1.1
Host: [allowed-external-host]

GET / HTTP/1.1
Host: [internal-host]

First-request Routing

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

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

рдпрд╣ рд╕рдорд╕реНрдпрд╛ Host header attacks рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░, рдЬреИрд╕реЗ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдпрд╛ web cache poisoning, рдЕрдиреНрдп рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдиреЗ рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯреНрд╕ рддрдХ рдЕрдирдзрд┐рдХреГрдд рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

{% hint style="info" %} рдЗрди рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, HTTP Request Smuggler рдореЗрдВ 'connection-state probe' рдлреАрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред {% endhint %}

{% hint style="success" %} AWS Hacking рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
{% endhint %}