Rischio per la sicurezza? Microsoft-HTTPAPI / 2.0


8

Durante il controllo della sicurezza delle nostre macchine, ho scoperto che un host esponeva un servizio Microsoft-HTTPAPI / 2.0 sulla porta 80 su Internet.

Non ne ho familiarità, ma dopo aver cercato su Google ho scoperto che SQL Server 2008 pubblica SQL Server Reporting Services sulla porta 80 per impostazione predefinita e si identifica come HTTPAPI / 2.0. L'host esegue anche IIS7.

Immagino che questo probabilmente non sia qualcosa che dovrebbe essere esposto al mondo. Qualcuno può offrirmi informazioni o consigli sul rischio per la sicurezza di esporre questo servizio.

Response Headers - http://#.#.#.#/
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 10 Aug 2009 10:44:25 GMT
Connection: close
Content-Length: 315

404 Not Found

Risposte:


7

Se non hai buoni motivi per esporlo, allora probabilmente non dovresti esporlo. A proposito, potresti essere interessato a questo articolo per decidere se o meno dovresti esporlo


2

Prova a cercare vulnerabilità in un database exploit per questo


2

Se l'intestazione del server della risposta restituisce "Microsoft-HttpApi / 2.0", significa che HTTP.sys viene chiamato anziché IIS. Gli exploit e le scansioni delle porte usano questo come mezzo per impronte digitali su un server IIS (anche uno che nasconde altrimenti l'intestazione del server).

Puoi verificarlo lanciando un errore usando CURL:

curl -v http://www.yourdomain.com/ -H "Range: bytes=00-18446744073709551615"

Vedrai qualcosa del genere se il tuo server sta inviando l'intestazione:

HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Thu, 19 Dec 2019 00:45:40 GMT
Connection: close
Content-Length: 339

È possibile aggiungere un valore di registro in modo che HTTP.sys non includa l'intestazione.

  • Apri Regedit
  • Passare a: Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters
  • Se DisableServerHeader non esiste, crealo (DWORD 32 bit) e assegnagli un valore di 2. Se esiste, e il valore non è 2, impostalo su 2.
  • Riavvia il server O riavvia il servizio HTTP chiamando "net stop http" quindi "net start http"

Riferimento: WS / WCF: Rimuovi intestazione server

Dopo aver aggiunto la chiave di registro, la risposta è simile alla seguente:

HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Date: Thu, 19 Dec 2019 00:45:40 GMT
Connection: close
Content-Length: 339

Pubblicare qui in modo che le persone che ne hanno bisogno possano trovarlo. (Grazie, Oram!)


1

La causa più comune di questa intestazione di risposta del server è quando IIS non è in grado di determinare quale sito Web pubblicare.

IIS risponderà con questa intestazione del server quando sono vere entrambe le seguenti

  • la richiesta contiene un'intestazione host non riconosciuta
  • nessun sito Web predefinito è configurato

In alternativa, se la configurazione per il sito Web che IIS sta tentando di distribuire non è corretta, verrà ignorata e considerata assente, con lo stesso effetto.


1
Esistono altri modi per visualizzare questa intestazione. Questa intestazione indica che HTTP.sys ha inviato la risposta, non il processo di lavoro di IIS. Credo che applicazioni come ADFS 3 che registrano un URL su HTTP.sys di solito rispondano anche con questa intestazione.
Milope

Spesso dimentico che le richieste passano attraverso http.sys. Un altro modo per forzare questa intestazione è fare una richiesta iilegale, ad esempio server /% e http.sys rifiuta immediatamente la richiesta HTTP/1.1 400 Bad Request Server: Microsoft-HTTPAPI/2.0senza trasmetterla a un gestore registrato
Cheekysoft,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.