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 + Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
frost ha risposto alla discussione: Gioco investigativo e politico
I dati del generatore di rank sono stati aggiornati!
RAID Shadow Legends → Plasma i tuoi eroi fino a farli diventare vere e proprie armi viventi e assembla i più epici gruppi d'assalto mai visti finora!
Le Cronache di Raja Dunia: Aggiornamento Informazioni Personaggio
Winged Keys Rpg: Gioco Chiuso!
Hikaru No Tohei - Le Luci di Tohei: Butanews! - È finito lo "Slash 'em All Twice"! 🔪❌
Entropia Universe → Lascia che il tuo avatar esplori nuovi mondi e viaggi tra i pianeti in questo stupendo MmoRpg Sci-Fi Free to Play!
Enlisted: Aggiornamento 0.7.0.82
Il gestore di Black Sails Chronicles ha risposto alla recensione di titti
RAID Shadow Legends: Mazzo del Destino Testa Calda
Star Trek Horizon: Elenco PG: una funzione a lungo attesa!
The Coven → Negli scorci di luce delle paludi della Louisiana fioriscono nuove ombre. Estend e la Congrega ti aspettano per vivere emozionanti avventure!
zarina si è accreditato come gestore di In the Shadows: NY
Hogwarts Express - Harry Potter GDR Forum: 🗞️Nuovo numero de "L'Espresso Sonorum"🗞️
Black Sails Chronicles: ON - Comizio Pubblico
The Coven: 🎃 Halloween Month - The Coven 🎃
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.
Counter Strike - È possibile guadagnare con le skin in Counter-Strike: Global Offensive?
Dlvr.it - Scopri questo tool gratuito per distribuire le vostre news sui social network!
Giochi Mitologici - Lista dei giochi mitologici in cui gli Dei camminano fra di noi..
Roma Imperiale - Intervista al gestore del Gdr "Roma Imperiale" Antonio Faricelli
Giochi Twilight - Lista completa dei giochi di ruolo online ambientati nel mondo di Twilight
Città Virtuali - Ciò che distingue un gdr online da un gioco by forum o by chat, e che la rende più complessa
Evoluzione Grafica - L'evoluzione grafica nei GDR-online. Abuso di Photoshop contro gioco. Chi vincerà la sfida?