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
wylly93 ha recensito The Eyrie GdR
Metin2: Doppio evento: Caccia al tesoro e Altromondo!
Pandora Upside Down High School → La prima scuola per sovrannaturali al mondo vi attende! Scoprite il vostro cammino Ancestrale relazionandovi con i compagni e le attività dei club
eXtremelot: Navigare o... Volare?? :-)
Games of Thrones Winter is Coming: Playoff dell'assedio di Grande Inverno
I dati del generatore di rank sono stati aggiornati!
Legacy of Magic: Gli Elementi Oscuri - La Nera Signora dell'Acqua
Metin2 → Sfida i tuoi rivali a battersi con te e dimostra la tua superiorità in questo mondo fantasy!
Il gestore di W40K Dathyar ha risposto alla recensione di dreamboy
dreamboy ha recensito W40K Dathyar
Metin2: Live ora: Server Boost Yohara e Twitch Drop
Pandora Upside Down High School → La prima scuola per sovrannaturali al mondo vi attende! Scoprite il vostro cammino Ancestrale relazionandovi con i compagni e le attività dei club
Epic Wizardry RP: Changelog N. 4 - Epic Wizardry Rp
drongo ha recensito Il Grande Blu
Pirates of the Caribbean: Tides of War: Quarti di finale del torneo
DarkOrbit: Galactic Strife & Buono gratis 💥
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
Sessioni Gdr e Caos! - Sopravvivere alle sessioni improntate al caos: Consigli per il Game Master!
Punteggiatura - Consigli utili su come utilizzare correttamente la punteggiaura in un Gdr-online
Influenza GdR - I Film e le Serie TV Americane Influenzano i Giochi di Ruolo Online o Viceversa?
Slice and Dice - Intervista a Slice and Dice il sito dei sistemi di gioco per play by chat!
La Balestra - La Balestra: Storia, Funzionamento e Tipologie di un arma micidiale!
A corto di idee? - A corto di idee per le tue avventure? Prova prima questi consigli!