logo Dove iniziare Linguaggi Aiuto Blog
Home Dove iniziare Linguaggi Aiuto e Supporto Info e Blog

Come hackerare un sito web: tutti i modi possibili

24 lug 2023

Come hackerare un sito web

Al giorno d'oggi, esistono 1,11 miliardi di siti web nel mondo, secondo Siteefy. Per questo motivo, gli attacchi informatici sono aumentati sempre di più.

Se hai creato un blog o un sito web anche tu, probabilmente ti chiederai come è possibile renderlo sicuro dai criminali. Quindi, in questo articolo vediamo tutti i modi possibili su come hackerare un sito web e come proteggersi.

Come hackerare un sito web

Hackerare un sito web non è sicuramente un'operazione semplice. Di solito, esistono gruppi di hacker che mettono insieme le proprie conoscenze e capacità per attaccare i grandi siti web, come quelli governativi e finanziari. Tuttavia, esistono degli attacchi più semplici, come quelli DDoS (che vediamo in questa sezione). Questo tipo di attacco può essere messo in atto in maniera semplice, anche da una singola persona.

In ogni caso, se si vuole hackerare un sito web (o semplicemente testarne le vulnerabilità), bisogna avere una base di programmazione. Infatti, è importante conoscere linguaggi come HTML e JavaScript per poter comprendere, almeno in parte, il mondo dell'hacking.

Le password

Iniziamo da ciò che tutti noi conosciamo alla perfezione: le password. Le utilizziamo molto spesso, quando accediamo ad un sito web o ad un servizio. Ebbene, si può hackerare un sito scoprendo la password di un utente. Ma come? Esistono diverse tecniche, tra cui attacchi brute force e dictionary attack, ma anche SQL Injection (che vedremo dopo).

Le password

Attacchi brute force

L'attacco brute force è uno dei metodi più rudimentali ma efficaci per scoprire le password. Gli hacker utilizzano un software o uno script per tentare tutte le combinazioni possibili di caratteri alfanumerici fino a trovare la password corretta. Questo processo può richiedere molto tempo, ma se la password è debole, l'attacco avrà successo.

Dictionary attack

Questo tipo di attacco sfrutta un dizionario di parole comuni, nomi, o altre combinazioni di caratteri per tentare di indovinare la password. Gli hacker utilizzano software appositi che testano rapidamente tutte le parole del dizionario fino a trovare una corrispondenza. Questo attacco ha successo se l'utente ha scelto una password debole o comune.

Come proteggere il sito da questi attacchi

Con questi tipi di attacchi non c'è un modo per proteggere il proprio sito e gli account degli utenti. Puoi soltanto consigliare di creare una password con i soliti requisiti a cui siamo abituati: un carattere maiuscolo, uno minuscolo, un numero e un carattere speciale.

Inoltre, puoi utilizzare strumenti online per controllare la sicurezza della tua password, come quello di Biadets:

SQL Injection

L'SQL injection è una delle vulnerabilità più comuni nei siti web basati su database. Consente agli attaccanti di inserire codice SQL malevolo nelle caselle di input del sito web, sfruttando errori di programmazione. Un esempio di SQL injection potrebbe essere l'inserimento di una query SQL nel campo di login per ottenere accesso a un'area riservata senza fornire le credenziali corrette.

Esempio di violazione tramite SQL Injection

Vediamo quindi un esempio di attacco SQL Injection. Prendiamo un'istruzione SQL:

SELECT * FROM utenti WHERE username = "$username" AND password = "$password"

In questa istruzione PHP, vengono presi i dati del database utenti, e viene cercata la riga che contiene un username e una password. I dati inseriti sono $username e $password, che possono corrispondere a qualsiasi credenziale scelta dall'utente.

Ad esempio, l'utente inserisce un username "[email protected]" e una password "1234". L'istruzione SQL sarebbe:

SELECT * FROM utenti WHERE username = "[email protected]" AND password = "1234"

Quindi, viene cercato un username "[email protected]" e una password "1234" nella stessa riga del database. 

Ora, vediamo come avviene un ipotetico attacco SQL Injection. L'utente (malintenzionato) inserisce l'username della vittima e un particolare codice SQL come password, ad esempio " OR 1=1. Così facendo, succede questo:

SELECT * FROM utenti WHERE username = "[email protected]" AND password = " " OR 1=1

In questo modo, la password deve essere uguale a " " (che è sbagliato), oppure 1 uguale a 1. Quindi, l'istruzione sarà sempre vera, perché 1 è sempre uguale a 1.

Come proteggere il proprio sito web

Ci sono 2 diversi modi per difendersi da un eventuale SQL Injection:

  • Utilizzare istruzioni SQL preparate e sanificare gli input degli utenti.
  • Limitare i privilegi del database per gli utenti, concedendo solo i permessi necessari.

Cross-Site Scripting (XSS)

L'XSS è un attacco che consente agli aggressori di iniettare script malevoli nelle pagine web visualizzate dagli utenti. Questo avviene generalmente attraverso i campi di input (come i form per la registrazione degli account), nelle sezioni commenti o in altre aree interattive del sito. Gli script dannosi possono rubare cookie di autenticazione, registrare le azioni degli utenti o reindirizzare gli utenti a pagine dannose.

Esempio di violazione tramite attacco XSS

Per questo tipo di attacco, abbiamo la possibilità di provarlo utilizzando il sito Techpanda. Nella pagina principale, possiamo accedere al pannello di controllo utilizzando qualsiasi email e password.

Esempio di attacco XSSScreenshot di Techpanda

Dopodiché, clicca su "Add New Contact" per aggiungere una nuova riga.

Inserimento di un nuovo contattoScreenshot di Techpanda

Poi, inserisci nel campo "First Name" o "Last Name" un codice HTML. Ad esempio, puoi inserire:

<a href=pagina.html> Nome </a>

Dopo aver salvato questi dati, cliccando su "Save Changes", verranno inseriti all'interno della tabella (se non li vedi, allora prova a modificare una riga già esistente cliccando su "Edit" a destra).

Vedrai che il nome diventerà cliccabile e porterà alla pagina "pagina.html", che non esiste.

Inserimento di un link cliccabileScreenshot di Techpanda

Ricordiamo che questo dovrebbe essere un nome, quindi ad esempio "Marco" o "Giovanni". Sicuramente non un link.

A questo punto, ti chiederai come mai questo è pericoloso. Bhe, se andiamo ad aggiungere al link uno script JavaScript utilizzando onclick, verrà eseguito! E con JavaScript, si può fare veramente di tutto (tra cui caricare uno script malevolo che può violare il sito). Ad esempio, aggiungiamo un alert.

<a href=# onclick=\"alert(\'Popup\');\"> Nome </a>

Come proteggere il proprio sito web

Vediamo alcune tecniche comuni per affrontare il problema degli attacchi XSS:

  • Utilizzare l'escaping HTML per visualizzare correttamente tutti i dati. Ad esempio, in PHP esiste il metodo htmlspecialchars che converte automaticamente i caratteri speciali (come "<" o ">") in caratteri HTML validi.
  • Effettuare dei controlli prima di visualizzare un input di un utente.

Attacchi DDos

Gli attacchi DDoS mirano a sovraccaricare un sito web con un alto volume di traffico proveniente da numerosi dispositivi. L'obiettivo è sovraccaricare il server e bloccarlo (o rallentarlo), rendendo il sito web inaccessibile agli altri utenti.

Eseguire un attacco DDoS

Ci sono diversi strumenti per eseguire dei test che fingono un attacco DDos e stressano i server del proprio sito web. Ecco i principali:

  • LOIC, un programma open source che simula grandi quantità di dati verso un sito web. È diventato molto conosciuto ed è tra i servizi più utilizzati.
  • Slowloris, un programma con cui far partire attacchi DDoS lenti, che pian piano mirano al sovraccaricamento del server. 
  • HOIC, un programma che può essere usato per lanciare attacchi DDoS molto potenti, con un minimo di 50 utenti contemporaneamente.

Come proteggere il proprio sito web

Essendo abbastanza semplici, gli attacchi DDoS sono i più diffusi. Infatti, secondo SecurityMagazine, quasi 30 attacchi DDoS al giorno colpiscono i siti web.

Sono quindi nati diversi servizi che mitigano gli attacchi DDoS. Questi strumenti riescono a trasferire il traffico dannoso in altri server e mantenere attivo il sito.

Il servizio di protezione più famoso è sicuramente Cloudflare, che gratuitamente permette di proteggere il proprio sito web da attacchi DDoS, ma anche velocizzare i caricamenti, migliorare le prestazioni e molto altro.

Altri modi per hackerare un sito web

Oltre agli attacchi più famosi, che abbiamo elencato prima, ci sono altri metodi per hackerare un sito web. 

Attacco tramite CMS o plugin

Una parte dei siti web nel mondo viene creata tramite CMS, ovvero generatori di siti web automatici con cui si può gestire un sito web senza particolari esperienze nella programmazione. Il più famoso è WordPress, con cui è possibile creare qualsiasi tipo di sito web, statico o dinamico.

I CMS, come qualsiasi programma, può avere delle vulnerabilità. Queste possono essere utilizzate dai criminali per hackerare il sito web. Anche i plugin installati con il CMS potrebbero essere poco sicuri.

Per questo motivo, ricordati di tenere sempre aggiornati CMS e plugin, perché ai criminali basta trovare la versione in uso e le vulnerabilità relative per lanciare un attacco.

Attacco tramite l'assenza di HTTPS o SSL

Se il sito web non utilizza il protocollo HTTPS e non ha il certificato SSL, le informazioni non vengono crittografate e possono portare ad una violazione. In questo tipo di attacco, un aggressore intercetta la comunicazione tra l'utente e il server, consentendogli di visualizzare e manipolare i dati scambiati. L'attaccante può intercettare informazioni sensibili, come le credenziali di accesso o i dati personali dell'utente.

Certificato SSL protegge il sito web

Spesso, l'hacker ottiene la sessione dell'utente e, con questa, l'accesso al suo account, senza dover conoscere le credenziali di accesso.

Conclusione

In questo articolo, abbiamo visto come hackerare un sito web e come proteggersi. Al giorno d'oggi, i proprietari di siti web devono fare attenzione a mettere in atto tutto ciò che è necessario per proteggere il proprio lavoro e la propria community. E conoscere quali sono i metodi per hackerare un sito sicuramente aiuta!

Attenzione: questo articolo non incoraggia né promuove attività illegali di alcun genere. L'hacking non autorizzato è illegale e punito dalla legge. Utilizza le informazioni fornite solo a fini educativi e in conformità con la legge.