Protezione postato il 14/07/2009 22:29:30 nel forum programmazione, gdrcd, open source, hosting
Ciao ragazzi! ^_^
Quali sono i passi da seguire, per rendere il sito inhackerabile? O_O
Grazie ^_*
Pagine → 1
14/07/2009 22:33:25
Ti consiglio di dare una letta ad un thread che ha aperto tempo fà raz: https://www.gdr-online.com/readforum.asp?id=80617 ↗
14/07/2009 22:40:52
Leggo questo:
"Dopo aver compreso bene quali sono i rischi nell'usare queste tecnologie è bene usare nuovamente il buon senso, e sviluppare il proprio codice in modo che non si fidi in alcun modo dell'input di un utente. Questa cosa purtroppo è spesso ignorata con scuse del tipo "tanto poi lo banniamo". Il problema sorge quando l'utente con un attacco tramite campo di input non protetto prende il controllo del sito, blocca l'accesso agli admin (o li banna lui stesso), oppure causa danni ad altri utenti. In quel caso il ban non servirà a nulla, perchè il danno sarà già bello che fatto. Ci vuole prevenzione, e per farla bisogna usare la testa."
Ma esattamente, come si può evitare che si verifichi questa condizione;
"Il problema sorge quando l'utente con un attacco tramite campo di input non protetto prende il controllo del sito, blocca l'accesso agli admin (o li banna lui stesso), oppure causa danni ad altri utenti."
Cioè, praticamente, come si dovrebbe operare, e come ce ne si accorge mentre questo, accade? O_O
14/07/2009 22:55:08
Il visitatore malizioso può prendere il controllo del sito in due principali maniere:
Forgiando il cookie che contiene la PHPSESSID dell'amministratore oppure con una SQL Injection che gli mostri i dati dell'admin o lo logghi direttamente come admin.
Entrambi gli attacchi che ho citati possono essere evitati filtrando l'input dell'utente togliendo sia i caratteri pericolosi per il sql (c'è una funzione che direttamente rende la stringa sicura per lo Sql, mi pare sia mysql_escape qualcosa. Vai su php.net e cercala) sia i tag che possono inizializzare uno script malizioso (di solito javascript) dunque con un html_entities o se vuoi essere più puntiglioso con un rigido sistema di regular expression che ammettano solo input che seguono una traccia ben determinata.
Comunque per saperne di più ti linko un url che mi fu suggerito tempo fa: http://www.codinghorror.com/blog/archives/001171.html
15/07/2009 08:42:09 e modificato da blancks il 15/07/2009 08:51:03
1) Esegui un forte escape dei dati passati via post e get (bloccando caratteri come , " ' . ; _ magari rimpiazzandoli con entità html http://www.asciitable.it/ascii.asp ↗)
2) Filtra alcune parole riservate di Mysql (come Delete, Insert, Update, Like etc..) ed abbonda con l'uso della funzione mysql_real_escape (vedi la documentazione su php.net)
3) Usa tecniche antisniffing per la protezione del modulo di login https://www.gdr-online.com/readforum.asp?id=88216 ↗
4) Potendo eventuali malintenzionati, come suggerito in precedenza, "forgiare" la propria sessione a livello di quella dell'admin, è buona pratica inserire per l'accesso in ogni modulo del pannello di gestione, una password.
5) Uno sviluppatore si può impegnare per garantire la sicurezza in maniera molto relativa, di certo adottando le pratiche di cui prima il tuo sito è molto meno esposto di prima. Tuttavia ci tengo a rammentare che l'unico sistema davvero sicuro è un sistema isolato.
Ah dimenticavo:
1-bis) Filtra sempre anche il percorso delle url degli avatar dei personaggi, bloccando magari tutto ciò che non proviene dai classici domini dediti all'archiviazione di esse (imageshak, tinpic etc..) ed attento ai controlli, l'ideale sarebbe una solida regex anzichè verificare la presenza di una di quelle parole succitate nell'url perchè non ci vuole molto ad eludere in quel caso il controllo.
Questo perchè è possibile sfruttare l'embedding tramite il tag img per condurre attacchi cross-site scripting al sito.
15/07/2009 10:13:34 e modificato da dyrr il 15/07/2009 10:14:41
Domanda da niubbone:
Per verificare che un file sia veramente un immagine e non altro un metodo non potrebbe essere quando il giocatore invia l'url dell'immagine controllare
che i primi byte del file siano quelli corrispondenti al tipo del file del tipo:
JPEG File Interchange Format | .jpg | ff d8 ff e0
GIF format | .gif | 47 49 46 38
ecc ecc.
leggendo i primi byte del file tramite php e controllandone la corrispondenza?
Se il tipo di file è verificato viene inserito nel campo del database altrimenti no.
15/07/2009 10:27:27
04/02/2010 19:39:42
Ci sono anche cose meno gravi dell'XSS o della possibilita' di forgiare la sessione dell'admin:
ad esempio: poter leggere i messaggi degli altri, poter scrivere/leggere in forum a cui non si dovrebbe avere accesso (per esempio quello dello staff o dei master), modificare i messaggi in forum altrui, poter accedere all'amministrazione delle gilde senza alcun bisogno di password...
Insomma: come detto sopra mai fidarsi dell'input, proteggersi dall'XSS ma _anche_ controllare sempre che l'utente che vuole visualizzare una pagina con dei dati parametri abbia effettivamente il permesso di farlo, controllando il suo user id e appartenenza ad un dato gruppo.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Storie di Agarthi: BardoBot si evolve: la cura non va in vacanza
Underworld of Rome: News e passaparola vampiriche
Entropia Universe → Lascia che il tuo avatar esplori nuovi mondi e viaggi tra i pianeti in questo stupendo MmoRpg Sci-Fi Free to Play!
aura666 ha recensito Naruto x Boruto GDR - New Rebirth
I dati del generatore di rank sono stati aggiornati!
Ex Gratia GDR: Nuova Entità: Sun Wukong!
Nyx Insight - Project S.E.T.: Comunicazione del Rettorato - Gli Sport arrivano
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
black sails chronicles si è accreditato come gestore di Black Sails Chronicles
Nuovo Play by Chat Fantasy → Black Sails Chronicles
Entropia Universe: Crafting Mania!
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
Ex Gratia GDR: Traumi e dove trovarne...
pyro72 ha recensito Crash Bandicoot Zone
blackmirror ha recensito Apocalypse Requiem: Detroit
Dissendium Draconis: Modifiche e Implementazioni: Pozioni
Lineage II → Entra in uno sconfinato mondo fantasy dominato da razze in contrasto tra loro. Scatena i tuoi poteri in uno dei Mmo più famosi al mondo!
Lista Larp - Lista dei giochi di ruolo dal vivo (larp) presenti sul portale
Pokémon Power Trainer - Recensione del gioco di ruolo online Pokémon Power Trainer. Gotta catch'em all!
Il mondo parallelo di Lot - Articolo di mentelibera.it, quotidiano online di cultura e tempo libero in Liguria, su LOT
Giochi su Camelot - Lista dei giochi ispirati al mondo dei Cavalieri della Tavola Rotonda, Re Artù, Merlino ecc.
Google Search Console - Google Search Console: cos'è e come usarla per i vostri giochi!
The Iron Throne - Intervista The Iron Throne GDR: il GdR via forum ambientato nel mondo di Asoiaf
Hogwarts Mystery GdR - Intervista alla gestrice del play by forum potteriano Hogwarts Mystery GdR
LotConn 2019 - Siamo stati alla LotConn2019 di eXtremelot dove il primo play by chat ha presentato le novità!