Visualizzazione post con etichetta URL. Mostra tutti i post
Visualizzazione post con etichetta URL. Mostra tutti i post

domenica 20 marzo 2022

PowerShell: Verificare il formato di un URL

In PowerShell non è necessario ricorrere alle regular expression per verificare il formato di una stringa. PowerShell, infatti, consente l'utilizzo di API e per questo tipo di operazioni è possibile utilizzare uno dei tanti metodi specializzati presenti in .NET Framework.

In quest'articolo verrà mostrato come verificare il formato di un URL. Prima però, bisogna fare un po' di chiarezza sui termini URI, URL e URN.

Un URI (Uniform Resource Identifier) è una sequenza di caratteri che identifica universalmente ed univocamente una risorsa come ad esempio un indirizzo web, un documento o il codice ISBN di un libro. Un URI può essere classificato come qualcosa che definisce posizioni (URL), nomi (URN) o entrambi:
  • URL (Uniform Resource Locator) serve per identificare univocamente la locazione di una determinata risorsa ovvero il suo indirizzo. L'URL viene prevalentemente utilizzato per indicare risorse web (HTTP o HTTPS), risorse accessibili tramite protocolli di trasferimento file (FTP), condivisione remote (SMB) e accessi a sistemi esterni (SSH). La sua semantica è data da 
    protocollo://[username:password@]host[:porta]</percorso>[?querystring][#fragment]
  • URN (Uniform Resource Name) è un URI che identifica una risorsa mediante un nome in un particolare dominio di nomi detto "Namespace". Un URN può essere utilizzato per descrivere una risorsa senza lasciare intendere la sua ubicazione o su come ottenerne una rappresentazione. Tale URN deve restare unico e persistente anche qualora la risorsa smetta di esistere o non sia più disponibile. Per esempio l'URN urn:isbn:978-0-470-53286-7 è un URI che mappa universalmente e univocamente un libro mediante il suo identificativo, o nome, (978-0-470-53286-7) nel namespace dei codici ISBN, ma non suggerisce dove e come ottenere una copia di tale libro e il nome resterà valido (non verrà assegnato ad altri libri) anche quando la risorsa non sarà più disponibile.

Per verificare se il formato di un URL è corretto utilizzando Powershell, è possibile utilizzare il metodo IsWellFormedUriString della classe URI. Il comando sarà del tipo
[Uri]::IsWellFormedUriString(uriString, uriKind)
dove uriString rappresenta la stringa dell'URL da verificare e uriKind ne specifica il tipo (assoluto o relativo). Gli URI assoluti sono caratterizzati da un riferimento completo alla risorsa (ad esempio https://www.contoso.com/index.html), mentre un URI relativo è la forma abbreviata che si limita a indicare solo la deviazione dall'URI di base (ad esempio nell'URI base https://www.contoso.com l'URI relativo è index.html). 
Il metodo restituirà True se la stringa è ben formata e False in caso contrario.

Esempio
[Uri]::IsWellFormedUriString("https://giovannilubrano.blogspot.com", [UriKind]::Absolute)
In questo esempio viene testato l'URL https://giovannilubrano.blogspot.com. Come visibile in figura, il formato dell'URL risulta corretto.
Metodo IsWellFormedUriString
FIG 1 - Metodo IsWellFormedUriString







giovedì 15 luglio 2021

Verificare un URL prima di aprirlo sul proprio sistema

Una buona parte dei tentativi di truffa e di attacco da parte dei criminali informatici utilizzano collegamenti web camuffati. Prima di cliccare su un collegamento ricevuto tramite email, sms, WhatsApp o altre applicazioni è buona norma assicurarsi che il link non sia pericoloso (anche se il mittente è una persona a noi nota e attendibile).

Nell'articolo Verificare se un sito web è sicuro con Zulu URL Risk Analyzer abbiamo già visto come analizzare la sicurezza di un URL attraverso il servizio zscalerIn questo articolo vedremo altri due strumenti che ci vengono in aiuto per la nostra analisi.

WhereGoes
Il primo tool è WhereGoes che consente di tracciare i percorsi di reindirizzamento completi di un URL permettendo di verificare il sito reale a cui punta. In questo modo si risale facilmente all'indirizzo completo a cui punta un URL accorciata da servizi come TinyUrl e bitly.
WhereGoes
FIG 1 - WhereGoes


Browserling
Il sito Browserling mette a disposizione una mini virtual machine temporanea in cui è possibile selezionare il sistema operativo e il browser da utilizzare per la verifica dell'URL sospetto senza mettere a rischio il proprio sistema. La versione gratuita del tool richiede l'attesa di una coda dalla durata variabile (generalmente un minuto o poco più) e la scelta del sistema operativo e del browser è limitata. Una volta scaduto il tempo di attesa, verrà caricato il sistema operativo e il browser selezionato per un periodo di tempo limitato ma comunque più che sufficiente per testare il nostro URL.
browserling
FIG 2 - Browserling