L'invio di "Access-Control-Allow-Origin: http: // localhost: 8888" è pericoloso?

9

Recentemente ho trovato le seguenti intestazioni HTTP su un sito che potrebbe perlomeno essere descritto come un target di alto valore:

Access-Control-Allow-Origin: http://localhost:8888
Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: [some custom non-standard headers]

Questo mi sembra strano, o almeno non conforme al CORS RFC :

The Access-Control-Allow-Origin header indicates whether a resource can be shared based by returning the value of the Origin request header, "*", or "null" in the response.

Il valore restituito non è ovviamente la mia intestazione di richiesta Origin (o * o null ). Quindi, le mie domande sono:

  • C'è qualche buona ragione per inviare queste intestazioni? A me sembra che sia stato usato qualcosa nei test che sono trapelati casualmente nella produzione.
  • È possibile sfruttarlo in qualche modo? Sembra improbabile per me, dal momento che solo una piccola minoranza di utenti avrà qualcosa in esecuzione su quella porta, inoltre un utente malintenzionato non sarebbe in grado di controllarlo comunque. Ma forse sto trascurando qualcosa.
  • È questo qualcosa che merita di contattare il sito in questione per informarli del problema?
posta Anders 28.12.2016 - 13:30
fonte

2 risposte

2

Affinché un pirata informatico utilizzi questa intestazione CORS, deve eseguire Javascript su localhost: 8888. Ispirato dalla tua domanda, ho cercato un servizio che funziona su localhost: 8888 e consente a un utente malintenzionato di eseguire Javascript. Ne ho trovato uno:

MAMP è un webstack che viene eseguito sulla porta 8888 per impostazione predefinita e viene fornito con il vulnerabile SQLiteManager. SQLiteManager ha diverse vulnerabilità, una delle quali è XSS utilizzando CSRF, quindi un utente malintenzionato potrebbe attivare Javascript in remoto per l'esecuzione nel contesto di localhost: 8888. Sarebbe quindi in grado di leggere i dati dal tuo target di alto valore.

Questo attacco non è realmente probabile, poiché funzionerebbe solo per gli utenti che sono entrambi visitatori del tuo sito e utenti di MAMP. Inoltre, MAMP ha anche una esecuzione di codice remoto vulnerabilità, quindi l'autore dell'attacco non ha bisogno dell'intestazione CORS per leggere le risposte HTTP.

    
risposta data 13.07.2017 - 11:23
fonte
1

Credo che questo dovrebbe essere sfruttabile in uno scenario tipico di MiTM, specialmente se non si utilizzano le intestazioni HSTS (anche senza necessità di downgrade come avviene comunque in HTTP) - un tipico attacco di spoofing del DNS può rendere l'IP della vittima del stessa rete locale di localhost: la navigazione 8888 porta a credere che sei tu e che rispondi con la risposta CORS. - Non vedo davvero perché hai bisogno di un sito con questo tipo di intestazione di risposta CORS

    
risposta data 26.04.2017 - 00:01
fonte

Leggi altre domande sui tag