Host Header Injection

Table of Contents

1 Host Header Injection

La idea darrera aquest atac és que en servidors webs on hi ha més d'un servei web en la mateixa IP (Virtual Hosts) pot ser que estiguin utilitzant el Host Header com a valor per a determinar quina aplicació web s'ha de servir. Per tant podem modificar el valor de Host de la capçalera HTTP i veure com la tracta el servidor objectiu.

1.1 Capçaleres objectiu

  • Host
  • X-Forwarded-Host
  • Referer

2 Atacs

2.1 Open Redirection

2.1.1 Execució del atac

  1. Modificació Host:

    Modificar el paràmetre Host: a bing.com per exemple i veure si redirigeix.

  2. Afegir X-Forwarded-Host:

    Afegint el paràmetre X-Forwarded-Host: amb valor el domini del lloc objectiu.

  3. Intercanvi de valors entre Host: i X-Forwarded-Host:

    Intervanciar els valors, és a dir a Host: el domini del lloc objectiu i a X-Forwarded-Host: el domini del lloc maliciós o proves (bing.com).

    ATENCIÓ: A aquest tercer no l'hi trobo gaire la lògica.

2.2 Web Cache Poison

La idea és de nou modificar el valor de Host: i després verificar si al codi de la web ha quedat reflectit en algun lloc, per exemple en un enllaç.

2.3 Password Reset Poisoning

Bàsicament si trobem una web per reiniciar password i podem modificar el Host: de la petició de forma que el enllaç que s'enviarà el email de la víctima tingui justament el host modificat, el atacant rebrà aquesta petició i podrà accedir al lloc original i modificar el password de la víctima.

2.4 XSS Host Header attack

Simplement si al introduïr un valor al Host: queda reflectit al cos HTML de la resposta pot ser que contingui una vulnerabilitat XSS.

3 Glossary

Virtual Hosts
Tècnica utilitzada en serveis web per hospedar més d'una Web o aplicació Web dins d'un mateix servidor, utilitzant per discriminar el nom del domini al qual s'accedeix (i per tant sense utilitzar ni capetes o subdominis a la URL).
Host Header
Valor de l'atribut o variable Host enviat com a part de la capçalera HTTP d'una petició GET o POST.

4 Meta

4.1 [/] ToDo

  • [ ] Corrector.
  • [ ] Explorar altres fonts d'informació.
  • [ ] Trobar Wargames on practicar.
  • [ ] Fer algun script Python per automatitzar.
  • [ ] Buscar eines automatitzades.

Date: 2020-07-15 dc. 00:00

Author: Raul Gimenez Herrada

Created: 2020-07-15 dc. 13:34

Validate