Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca

Hacking tutorial: Scopriamo la URL (Uniform Resource Locator), anche con qualche hack.

Redazione RHC : 10 Ottobre 2021 10:17

Anche se a volte non siamo in grado di ricordare il significato esatto dell’acronimo URL (Uniform Resource Locator), sappiamo tutti cos’è e cosa fa: è un collegamento leggibile dall’uomo nel tuo browser che ti consente di accedere alle risorse online che risiedono su un indirizzo IP specifico.

Un URL può puntare a una pagina di destinazione di un sito Web (ad esempio redhotcyber.com) oppure ad un oggetto visivo o risorsa utilizzando il percorso di un file, come un modulo PDF o un file di testo su quello sito web, ad esempio:

https://www.redhotcyber.com/content/uploads/2021/05/esempio.pdf

Molti domini hanno URL nascosti che di solito non vengono mai consultati o cercati dagli utenti. Alcuni di questi URL fanno parte del deep web, il che significa che non sono indicizzati dai motori di ricerca, ma a volte possono essere accessibili scoprendo e visitando l’URL esatto, qualora tu ne sia a conoscenza.

Enumerazione dei sottodomini

Ogni nome di dominio Internet valido è composto dai seguenti componenti:

  1. Dominio di primo livello : tutto ciò che segue dopo l’ultimo punto nella stringa dell’URL. Esempi comuni di domini di primo livello sono: .com, .it, .org, .gov, .net, .uk, .ie…
  2. Dominio di secondo livello : qualunque cosa si trovi prima del dominio di primo livello. Quindi, il dominio di secondo livello di questo blog è redhotcyber e il dominio di primo livello è .com .
  3. Sottodominio : qualunque cosa sia posizionata prima del dominio di secondo livello. Può essere qualsiasi cosa, ad esempio: aws.amazon.com, aws è il sottodominio.

L’enumerazione dei sottodomini viene utilizzata per identificare ed esporre i sottodomini utilizzati di rado o a cui non possono accedere gli utenti regolari. Questo può essere fatto manualmente semplicemente aggiungendo una parola comune prima del dominio di secondo livello:

  • blog.esempio.com
  • news.esempio.com
  • mail.esempio.com
  • negozio.esempio.com

Tuttavia, l’enumerazione manuale dei domini è inefficace a lungo termine: può essere laboriosa e richiedere molto tempo o non funzionerà affatto se i sottodomini hanno nomi non comuni.

Puoi automatizzare l’enumerazione dei sottodomini utilizzando uno strumento come Sublist3r che puoi trovare a questo link github: https://github.com/aboul3la/Sublist3r

Oppure utilizzare theHarvester :https://github.com/laramies/theHarvester

In alternativa, puoi utilizzare strumenti web come Subdomain Finder di Spyse:https://spyse.com/tools/subdomain-finder

Connessione diretta tramite un indirizzo IP

La barra degli URL non si limita a funzionare solo con input leggibili dall’uomo come i nomi di dominio.

Ogni dominio risolvibile avrà il cosiddetto record A (Address Record), che punta a un indirizzo IP sul DNS (Domain Name System).Proprio per questo è possibile specificare sulla barra del browser direttamente l’indirizzo IP e la relativa porta come in questi 2 esempi:

  • http://10.129.22.41:22
  • http://10.129.22.49:80

A volte puoi ottenere informazioni extra dalla connessione a una risorsa online utilizzando varie porte, ovviamente se sono aperte.

NOTA: questo non funzionerà sempre, dipende dai dettagli di una configurazione di sicurezza. Inoltre, è probabile che servizi come Cloudflare o provider di hosting blocchino questo metodo di connessione.

La tecnica della enumeration

Questa tecnica può essere utilizzata ovunque trovi un URL che implichi l’esistenza di risorse ordinate in sequenza.

Ad esempio, prendi i gruppi di LinkedIn: https://www.linkedin.com/groups/113/

Alla fine di quell’URL c’è un numero che puoi manipolare cambiando le cifre e cercando tra le risorse elencate aumentando o diminuendo in modo incrementale il valore numerico posto alla fine.

Questo può funzionare particolarmente bene per gallerie fotografiche, directory di file, nomi utente e così via.

Aumenta la risoluzione dell’immagine

A volte potresti imbatterti in un collegamento contenente un file immagine a una risoluzione inferiore. È probabile che ci sia anche un’immagine a risoluzione più alta là fuori, ma semplicemente non conosci l’URL esatto per questo.

In alcuni casi l’immagine a risoluzione più alta può essere visualizzata manipolando la dimensione dall’URL. Dai un’occhiata all’immagine qui sotto:

https://ucarecdn.com//985d4f2c-973a-4ae6-a2b1-f992683da70b/-/resize/200x/

Ora – prova a cambiare questa parte -/200x/ – in /2200x/ aggiungendo 2 nella parte anteriore…

L’efficacia di questo metodo dipenderà da ciascun sito Web e da ciascun URL. Servizi diversi avranno parametri diversi, situati in parti diverse dell’URL, come ad esempio questa immagine di pizza:

https://cdn.shopify.com/s/files/1/1405/0664/products/[email protected]?v=1469649640

Se hai notato il valore 250×250 (pixel in questo caso), prova a cambiarlo con qualcos’altro. Ad esempio:

https://cdn.shopify.com/s/files/1/1405/0664/products/4791207-9790062099-Pizza1_1250x1250_crop_center@2x.progressive.jpg?v=1469649640

Altri servizi potrebbero consentire di modificare i parametri delle dimensioni sostituendo la parola “low” con “high” nell’URL, ma questo sta a voi scoprirlo.

Aggiungi qualcosa alla fine di un URL

Molti siti web contengono file che non vengono indicizzati dai motori di ricerca, ad esempio il famoso robots.txt.

Secondo questa spiegazione di Google, viene utilizzato un file robots.txt per gestire il traffico del crawler verso un sito Web.

Questo file non rivelerà alcun dato sensibile, ma potrebbe indirizzare un utente a risorse attualmente in fase di sviluppo o a qualsiasi cosa il proprietario del sito Web non voglia che il pubblico più ampio veda.

Puoi provare questo metodo visitando siti Web casuali e aggiungendo questo valore /robots.txt dopo il dominio. Ad esempio:

https://www.redhotcyber.com/wp-content/uploads/attachments/robots.txt

All’interno del file /robots.txt è possibile trovare ulteriori informazioni come nel nostro caso la lista delle url contenute nel sito presente in /sistemaps.xml il quale (contenente al suo interno ulteriori url) serve al crowler per comprendere cosa indicizzare e cosa no.

https://www.redhotcyber.com/sitemap.xml

https://www.redhotcyber.com/blog-posts-sitemap.xml

Decomprimere un URL

I servizi di abbreviazione dei collegamenti sono legittimamente utilizzati per condensare URL molto lunghi e disordinati in collegamenti brevi e dolci, leggibili e a misura d’uomo.

Purtroppo, queste risorse vengono spesso utilizzate anche da truffatori e criminali informatici come metodo per oscurare una URL che potrebbe altrimenti apparire sospetto a qualsiasi potenziale vittima.

Infatti, ci sono diverse risorse e trucchi disponibili per abbreviare quei collegamenti con redirect specifici, che possono essere utilizzati per attività malevole ed è importante conoscerli.

Se si tratta di un URL abbreviato Bitly (puoi riconoscerlo dal nome Bitly nell’URL abbreviato), puoi ancora più accorciarlo semplicemente aggiungendo un segno + alla fine:

Questo funziona per altri servizi di abbreviazione degli URL. Per altri, puoi utilizzare una delle seguenti risorse che aiutano a districare i collegamenti abbreviati:

  • https://wheregoes.com/
  • http://urlxray.com/
  • https://redirectdetective.com/
  • https://www.spyoffers.com/

I parametri nelle URL

Ogni URL può contenere una serie di parametri, come avevamo visto prima nella manipolazione delle immagini, che consentono all’applicazione web di funzionare.

Dopo il dominio e la pagina web come in questo caso:

www.redhotcyber.com/articolo.cgi

È possibile che siano presenti dei parametri, che vengono elencati dopo il punto interrogativo:

www.redhotcyber.com/articolo.cgi?view=100

La variabile “view” viene infatti impostata sul valore “100”, mentre il parametro “=”, divide il nome della variabile sulla sinistra, dal valore presente sulla destra.

Qualora siano presenti ulteriori variabili, queste possono essere intervallate dal carattere “&”.

www.redhotcyber.com/articolo.cgi?view=100&listItem=10

In questo caso sono presenti 2 variabili nella URL e sono

  • view che ha un valore 100
  • listItem che ha un valore 10

Questi parametri servono all’application server a comprendere le informazioni che provengono dal client (browser) e quindi ricevere gli input per la successiva elaborazione.

Manomissione dei parametri Web

L’ultima parte di questi suggerimenti e trucchi relativi agli URL è un’area grigia, al confine tra OSINT, pentesting e sfruttamento delle vulnerabilità.

OWASP classifica queste azioni come manomissione dei parametri web e identifica una serie di attacchi che possono essere perpetrati a livello di URL contro applicazioni web scritte male e non adeguatamente protette.

Ad esempio, un utente malintenzionato può manomettere direttamente i parametri in una URL. Pensiamo ad un’applicazione Web che permette a un utente di selezionare il proprio profilo da una casella combinata e addebitare sul conto, la url che verrà lanciata dal browser una volta eseguita questa azione sarà ad esempio la seguente:

http://www.attackbank.com/default.asp?profile=741&debit=1000

In questo semplice caso, su una connessione HTTP non cifratura, un utente malintenzionato potrebbe intercettare la comunicazione e manomettere la URL inserendo i dati del suo conto corrente, come in questo caso:

http://www.attackbank.com/default.asp?profile=852&debit=2000

Con il risultato che il pagamento verrà fatto sul suo conto corrente (852) e non sul conto corrente desiderato dall’utente (741).

Ovviamente qua si passa ad attività di web hacking, che possono anche sfociare in vulnerabilità di Broken access control, consentendo attraverso la manipolazione delle url su una applicazione scritta male, di poter accedere a profili utente di altre persone.

Conclusioni

Abbiamo quindi visto con precisione il funzionamento di una URL e da ora in poi non dovremmo più avere grandi segreti.

Sicuramente, la manipolazione delle URL e delle sue variabili, permettono di verificare se una applicazione web risulta scritta bene o se sono stati commessi degli errori grossolani di sviluppo che possono pregiudicare la sua sicurezza.

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.