Domanda:
Il ping di un sito Web è essenzialmente lo stesso che visitare il sito Web tramite un browser?
oats58459
2016-07-07 15:00:27 UTC
view on stackexchange narkive permalink

Guardavo le informazioni sul dominio di un sito web ( poaulpos.net ) su who.is a cui Chrome si connette ogni volta che visito uno specifico un vecchio articolo di Tech Times su Thunderstrike 2, un attacco al firmware Mac ("Thunderstrike 2 è l'ultimo incubo dei proprietari di Mac"). Ho Little Snitch, un firewall basato su applicazioni, quindi l'ho bloccato la prima volta che Chrome ha tentato di connettersi ad esso.

La mia domanda è molto semplice: facendo clic sulla scheda di diagnostica di qualsiasi voce who.is viene eseguita automaticamente un ping e un traceroute sul sito web. È più o meno come visitare il sito web digitando il nome host nel tuo browser e lasciandolo caricare?

Il sito web in questione è stato registrato solo ieri e le informazioni di contatto sono protette da Whoisguard. Sono piuttosto paranoico. Sono sospettoso del sito Web e sono preoccupato se in qualche modo avrei potuto consentire a qualcosa di dannoso sul mio laptop tentando di raggiungere il sito Web tramite la scheda di diagnostica who.is.

Se potessi essere infettato semplicemente controllando un sito web tramite who.is, la società sarebbe in grossi guai.
Come bonus, il ping di un sito Web non verrà nemmeno registrato da nessuna parte.Molte server farm dispongono di un blocco firewall sulle porte ICMP
@usr-local-ΕΨΗΕΛΩΝ ma ... ICMP non ha il concetto di porte.
e non esiste il "ping di un sito web"
@MadWard, ricorda il record TXT XSS?
Sì, @DmitryNarkevich hai ragione.Ho detto questa affermazione perché avevo in mente un paio di frasi.Uno è la "porta ICMP di blocco" del firewall e l'altro è la "porta 9".Non ricordo da dove provenga quella porta 9 atm
Oh, e il firewall che ho menzionato sopra, sì, era un firewall davvero economico ...
Ma ... non hai * * non * eseguito il ping del server: hai chiesto a chi.
Notare che * il telnet * alla porta 80 di un server web è molto più simile alla visualizzazione tramite un browser, poiché questo è proprio il tipo di connessione che fa il browser.Ovviamente una semplice sessione telnet non implica il rendering o l'elaborazione di qualcosa come farebbe un browser, anche se si inviano diverse richieste HTTP `GET`.
Sarebbe più chiaro aggiungere il contesto al titolo della domanda, come chiedere "Il ping di un sito Web comporta il rischio per la sicurezza di visitare un sito Web nel browser?"Esistono molti modi per interpretare il titolo (come il controllo della disponibilità, la penetrazione del firewall, ecc.).
Una cosa che vorrei aggiungere a questi (molto buoni) commenti: una volta ho lavorato con qualcuno per cui quel ping a un server web significava che era attivo e operativo;non è così.Semplicemente perché un dispositivo risponde a un ping ** non significa ** che sia operativo o che serva qualunque cosa intenda servire.
FYI: visitare un sito Web utilizza IPv4 / 6 (Layer 3) -> TCP (Layer 4) -> HTTP (S) (Layer 7) e IPv4 / 6 -> UDP (Layer 4) -> DNS (Layer 7).Il ping di un sito Web utilizza solo ICMP (Layer 3).I vettori di attacco disponibili sono più grandi visitando un sito Web rispetto al ping di un server.Fondamentalmente un ping / traceroute e una visita al sito Web nel browser sono diversi fino al livello 3 del modello OSI.
Non è una domanda relativa alla sicurezza ...
Sei risposte:
#1
+99
Bubble Hacker
2016-07-07 15:07:40 UTC
view on stackexchange narkive permalink

Non sono affatto la stessa cosa.

Una richiesta ping è un pacchetto ICMP che per impostazione predefinita invia null codice> dati per verificare se l'host è attivo (puoi modificare i parametri inviati (leggi di più qui).)

Quando visiti un sito web nel browser sei utilizzando il protocollo HTTP che richiede i dati e quindi hai una configurazione CLIENT / SERVER qui (i dati vengono forniti al client dal server su una richiesta inviata nel protocollo HTTP ).

In ogni caso, se non sei tu a inviare la richiesta ma piuttosto il servizio ( poaulpos.net ) che stai usando la invia, non c'è traccia per te e quindi nessun rischio per la sicurezza per te.

"... nessun rischio per la sicurezza per te a meno che il servizio non sia implementato in modo orribile e il sito Web adattato alle sue falle."
`... per controllare se l'host è attivo ...` Ma ** non ** ti dice se l'host è inattivo.
@user2338816 In realtà lo fa, in base al contesto.Quando vuoi controllare se il server è inattivo, probabilmente non vedi l'ora di utilizzare un servizio che farà di più che ricevere una richiesta nulla e restituire una risposta vuota.Quando esegui il ping di un server che non può nemmeno farlo, il server non è certamente raggiungibile per nulla.
@ViniciusPires Non è vero.È perfettamente possibile, e in effetti relativamente comune, avere host configurati per rispondere ad alcuni servizi, ma non ICMP.
@reirab Ed è per questo che il ping non è l'UNICO strumento utilizzato per vedere se un server è inattivo :)
@ViniciusPires concordato.Ero solo in disaccordo con la tua affermazione che un server non è certamente raggiungibile per nulla se non risponde alle richieste di eco dell'ICMP.Probabilmente è vero se imposti il server da solo e sai che è impostato per rispondere alle richieste di eco ICMP, ma non nel caso di eseguire il ping del server web di qualcun altro, come in questa domanda.
@reirab Scusa, all'inizio non ho capito il tuo argomento, hai ragione.Rileggendolo, ho usato male il termine "certamente", volevo dire "probabilmente".Colpa mia.
Un'interfaccia del server potrebbe essere attiva e rispondere ai ping, ma un ping potrebbe non ricevere risposta.Il ping potrebbe non raggiungere mai il server perché qualsiasi dispositivo di rete intermedio può bloccare ICMP.È solo che solo ricevere una risposta dice qualcosa sullo stato dell'interfaccia mentre non ricevere una risposta può avere una serie di possibili interpretazioni.Diventa complicato senza un buon background di rete.Suggerirei solo una modifica della risposta per espandere l'interpretazione "nessuna risposta".
#2
+26
CaffeineAddiction
2016-07-07 19:19:55 UTC
view on stackexchange narkive permalink

È più o meno come visitare il sito web digitando il nome host nel browser e lasciandolo caricare?

Risposta breve, no ... non è nemmeno vicino.

Quando esegui whois , stai cercando le informazioni pubblicamente registrate di un IP o di un dominio. In molti casi la richiesta whois non comunicherà nemmeno con il server di destinazione. Piuttosto i database whois sono gestiti principalmente da registrar e registri. Il dipartimento IANA di ICANN gestisce il registro centrale per tutti i tipi di risorse Internet, indicando il server whois del (sotto) registro responsabile e i dettagli di contatto di questo registro.

Il programma in esecuzione esegue anche un ping sul server. Nella maggior parte dei casi il comando ping standard utilizza ICMP o The Internet Control Message Protocol. Tuttavia, questo non è sempre il caso dei programmi che controllano lo stato di un server. Lo strumento che stai utilizzando potrebbe invece eseguire una scansione delle porte per verificare la disponibilità delle porte 80 e 443. NMAP è un esempio di un altro strumento che ha questa funzionalità.

Ora, al cuore della tua domanda ... in che modo tutte le cose sopra elencate sono diverse dalla visita del sito stesso? La risposta è che tutti gli strumenti di cui sopra sono piuttosto semplicistici, inviano un messaggio e ricevono un messaggio ma eseguono pochissima elaborazione. Sono tutti più o meno stupidi sistemi di tipo challenge / response rispetto all'apertura di un socket TLS per la comunicazione tramite HTTPS.

Quando apri il browser e vai a https://google.com , si verificano le seguenti cose:

  • Il tuo browser esegue una ricerca DNS di google.com nel tentativo di ottenere un indirizzo IP a cui connettersi.
  • Una volta ottenuto un indirizzo IP, verrà negoziato un socket TLS: TLS Negotiation
  • Dopo aver stabilito una connessione socket sicura, il browser effettua una HTTP: richiesta GET per / di google.com (di solito un file chiamato index.html ma può anche essere index.php , index.asp , ecc. a seconda del server).
  • Una volta che il contenuto HTML di / è stato ricevuto dal browser, tenta di caricare il suo contenuto affinché tu possa vederlo ... tuttavia mentre l'HTML può avere immagini (codificato in base64 uri) e script nel suo contenuto ... di solito contiene riferimenti ad altri file che devono essere scaricati. In molti casi il caricamento di una pagina può comportare un gran numero di richieste secondarie ... ad esempio, il caricamento di google.com ha causato 12 diverse richieste HTTP.
  • Una volta caricata la pagina, qualsiasi JavaScript viene interpretato e client il codice laterale viene eseguito all'interno del browser ... questo codice JavaScript o codice flash / applet java è solitamente la causa principale delle attività dannose di cui hai paura.

È possibile caricare una pagina senza JavaScript utilizzando qualcosa come NoScript tuttavia, questo potrebbe anche impedire il funzionamento della pagina web ... ad esempio non saresti in grado di accedere a stackexchange senza lasciare che parte del contenuto JavaScript sia eseguito.

Quindi, per rispondere al cuore della tua domanda, no ... è molto improbabile, se non del tutto impossibile, infettare il tuo computer eseguendo un whois o ping contro evil-website-of-doom.com ... tuttavia, se esegui un ping ... riceveranno il tuo indirizzo IP che potrebbe o meno essere un problema ... ma quella è una domanda diversa su completamente.

Bene, puoi * leggere * Stack Exchange abbastanza felicemente senza consentire JavaScript.Ma sfortunatamente, si rifiuta di farti accedere senza JS e / o cookie (dimentico quale ho dovuto consentire ...)
@TobySpeight JS o Cookie, ma è necessario JS per autenticarsi e ottenere il cookie.Sei su una mezza dozzina nell'altra
Hai dimenticato `index.aspx`,` index.cgi`, `index.htm`,` default.htm`, `default.html`, ecc ecc: D
@LightnessRacesinOrbit Aggiunto `ecc`
#3
+12
Limit
2016-07-07 15:09:11 UTC
view on stackexchange narkive permalink

Il ping di un sito Web e la sua visualizzazione in un browser sono due processi assolutamente diversi che coinvolgono completamente protocolli diversi. Ping invia una richiesta ICMP (la risposta non sarà dannosa) mentre la visualizzazione di una pagina web invia una richiesta per ottenere la pagina indice (possibilmente dannosa) del sito web.

Nel tuo caso, non hai nulla di cui preoccuparti. In primo luogo, era una richiesta alla macchina che ospita il sito Web e non il sito Web stesso. In secondo luogo, la connessione è stata effettuata da who.is al sito Web e non dal tuo laptop al sito Web. Il sito web non aveva modo di conoscere il tuo indirizzo IP.

"la risposta non sarà dannosa" c'è qualche possibilità che ci sia un server web che risponde ai ping con scansioni delle porte invece della risposta ping definita dal protocollo?
@JanDvorak Potrei sbagliarmi, ma penso che il ping funzioni molto al di sotto del livello dell'applicazione;il server web (software) non risponderà in modo dannoso.Il ping fa capire al bersaglio che esisti, però, sì.La risposta al ping in sé non dovrebbe essere dannosa, ma chiunque / qualunque cosa abbia visto il ping potrebbe iniziare a fare qualcosa in seguito.
#4
+11
Toby Speight
2016-07-07 18:32:54 UTC
view on stackexchange narkive permalink

Non puoi eseguire il ping di un sito web . Puoi eseguire il ping di una interfaccia di rete ; questo invia pacchetti di richiesta ICMP ECHO a quell'interfaccia (e riassume le risposte ricevute).

Un sito web (in questo contesto) è un server che risponde alle richieste HTTP e / o HTTPS su una o più porte TCP sull'interfaccia (normalmente la porta 80 per HTTP e la porta 443 per HTTPS).

Una data interfaccia può o meno rispondere a ICMP ECHO pacchetti (ma dovrebbe farlo). La stessa interfaccia può o non può avere uno o più siti web legati alle sue porte TCP. Ma i due sono totalmente indipendenti l'uno dall'altro.

Per rispondere alla domanda di sicurezza: il ping non può trasportare un payload dannoso; il server deve restituire esattamente il payload che invii, ma anche se non lo fa, non lo interpreti mai in alcun modo. Il tuo programma ping può controllare che i dati ricevuti corrispondano a quelli inviati, ma non deve fare nient'altro con il contenuto (e nella maggior parte dei casi, invierai comunque un payload vuoto).

Stai dando via una piccola quantità di informazioni (il fatto che un'interfaccia è interessata alla raggiungibilità / stato di un'altra) ma molto poco oltre.

Penso che "dovrebbe" dovrebbe essere "non dovrebbe, nella maggior parte delle situazioni".Ping è utile per la risoluzione dei problemi di una connessione a un servizio.Se un'interfaccia non fornisce servizi accessibili dall'esterno, non c'è motivo di avere ping.Anche se esiste un servizio, consentire il ping aumenta il tuo profilo di attacco: vedi http://security.stackexchange.com/questions/4440/security-risk-of-ping
@Dew - le opinioni divergono, come evidente nella domanda che hai collegato.Non sono del tutto d'accordo con te (il ping può essere utile contro le interfacce che sono solo iniziatori), ma alla fine è un giudizio da dare sulla base delle informazioni - e più sono e meglio è, quindi grazie!
"ping non può trasportare un payload dannoso" - ma: Ping of Death.(Anche se immagino che non esista una risposta ping di morte ... 9
@Hagen - buon punto, ma ping-of-death normalmente significa pacchetti malformati - non, in senso stretto, il * payload *.Se hai un sistema vulnerabile a tali attacchi, non vuoi davvero metterlo su Internet pubblico ...
Se abbiamo intenzione di fare un pelo sul sito web rispetto alla terminologia dell'interfaccia ... :-) "* Puoi eseguire il ping di un'interfaccia di rete *" Un pacchetto ICMP non indirizza un'interfaccia, indirizza un indirizzo IP.Non so quale interfaccia specifica raggiungo quando eseguo il ping di "8.8.8.8" a causa del routing anycast.Dove finisci dipende dalle decisioni di instradamento, non dall'interfaccia che hai specificato, perché non puoi specificare un'interfaccia (al massimo, puoi specificare un'interfaccia in uscita con la notazione IPv6 `:: 1% lo`).
#5
+4
Sjoerd
2016-07-07 15:04:05 UTC
view on stackexchange narkive permalink

No. Direi che eseguire ping o traceroute su un dominio non è un rischio per la sicurezza. Inoltre, il ping viene eseguito da who.is e non dal tuo computer.

#6
-2
EnviableOne
2016-07-11 20:57:41 UTC
view on stackexchange narkive permalink

Ping non è niente come caricare il sito web, come è stato detto è un protocollo completamente separato, che potrebbe anche essere bloccato. Userei qualcosa che esegue una richiesta HTTP fittizia o il buon vecchio Telnet: 80

questi ti daranno più informazioni sul server web rispetto a un ping.

questo non risponde davvero alla domanda


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...