Guida [Guida Protezione Dei Siti]Codici anti Sql-Injection[Prot. SemiTot Database Mt2] v1.0

Stato
Discussione chiusa ad ulteriori risposte.

SubSilence

Utente Electrum
4 Novembre 2009
276
29
85
154
Ultima modifica da un moderatore:
Come da titolo,SubSilence(io xD) posterà una guida fatta 100% da lui sulla protezione dei proprio siti

Molti di voi sicuramente sapranno di cosa si tratta.
L'SQL-Injection è una tecnica utilizzata da molti hacker che, ponendosi come obiettivo il colpire delle applicazioni web che si appoggiano su dei Database MySQL, adottano spesso questa tecnica.
Utilizzando L'SQL-Injection l'hacker in questione può ottenere magari attraverso una pagina di login dei permessi o autenticizzarsi per entrare in pagine protette del sito.

In cosa consiste?
Mediante un form che si aggancia a delle variabili globali di tipo POST o GET, e mediante l'utilizzo di caratteri speciali(quali * , ' , " , ) ',ecc..), Se il Developer non ha pensato che i tipi di dati inseriti potessero anche essere diversi da dati alfanumerici, allora il pericolo è assicurato!

Avrete notato che, in molti script in PHP , come la registrazione (account_create.php), è presente una parte in cui sta scritto :
Codice:
$id= strip_tags(addslashes($_POST['id']));
Facendo un esempio ovviamente.
bene quel $_POST['id'] si aggancierà al form html.
L'aggiunta delle funzioni strip_tags e addslashes , sono utili poichè molti caratteri pericolosi vengono riconosciuti e modificati o alterati in modo da non essere efficaci.
Ma purtroppo questo non basta.

Per evitare che molti server magari con ottime protezioni lato free BSD e company , potessero avere seri problemi a causa dei propri siti completamente esposti a pericoli del genere, ho realizzato io stesso delle funzioni in php, tutto in un file da includere in tutti i vostri i file .php attraverso il codice:
Codice:
include('file.php');

All'interno di questo file ovviamente ci sono tutte le istruzioni su come usarlo.
Vi è una particolare funzione che riconosce tutti i particolari caratteri pericolosi, sostituendoli con degli innoqui.
Un'altra funzione invece (se volete la usate proprio per avere una protezione al 100% del sito) che, prima di eseguire le query mediante i dati inviati sempre dagli utenti con i form, verifica la presenza di alcuni caratteri,
Se i caratteri sono presenti nell'input, allora lo script si blocca immediatamente, dando un errore di inserimento dati.

Link:
http://www.gta4series.ilbello.com/control.php?f=20240242201114
Nuovo sistema di upload xD (IL MIO) .. è ancora in fase di testing però funziona :D


I + 1 sono sempre ben accetti ;}
:asd:




 
Stato
Discussione chiusa ad ulteriori risposte.