via delle Pappe 34 Pistoia    348 2658584   0573 1780720   posta@spataro.info

Protezione da attacchi SQL Injection

2010/03/22 12:51:02
script asp

Quando si usa un database per immagazzinare delle username e password per l'accesso ad alune parti del sito occorre prestare attenzione a proteggersi dagli attacchi che potrebbero permettere l'accesso anche a chi non autorizzato.

Uno dei più semplici attacchi è il SQL Iniection ossia inserendo l'istruzione che non indicherò per evitare che qualcuno provi a emularla è possibile bypassare la protezione e accedere al database.
L'istruzione che permette di difendersi è il replacement dell'apostrofo ' con un doppio apostrofo, ossia: Replace(username,"'","''")

Buona protezione


<% 
usr=Request.Form("username")
psw=Request.Form("password") 
Set Conn=Server.CreateObject("ADODB.Connection")
strConn="Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/utenti.mdb")
Conn.Open strConn
sql = "SELECT usname,passw FROM tabella_utenti WHERE usname='"&replace(usr,"'","''")&"' AND passw='"&replace(psw,"'","''")&"'" 
Set rs = Server.CreateObject("ADODB.Recordset") 
rs.Open sql, conn ,3,3
ecc ecc ecc.........
%>
Protezione da attacchi SQL Injection