Sql Injection e Asp, proteggersi
Scritto da Davide Salonia
(http://www.daviduccio.it)
il 05 agosto 2006
E noi la useremo in specifico nel seguente modo:
Simuliamo il comando di login:
Ecco come ho usato ll comando replace, vi basterà seguire questa accortezza, per essere ben protetti.
Alla prossima.
Salve, oggi spiegherò una tecnica per difendersi dalle tecniche di SQL Injection. Il SQL Injection agisce aggirando il comando SQL usato, soprattutto nei comandi di Login, effettuando con molta semplicità dei Login non autorizzati.
Come detto vi spiegherò solo come difendersi, onde evitare emulazione di qualcuno.
Useremo per difenderci il comando Replace, e simuleremo un comando di login.
La sintassi del comando Replace è:
CODICE
Replace(stringa,trova,sostituisciCon)
E noi la useremo in specifico nel seguente modo:
CODICE
Replace(username,"'","''")
Simuliamo il comando di login:
CODICE
<%
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 eccEcco come ho usato ll comando replace, vi basterà seguire questa accortezza, per essere ben protetti.
Alla prossima.
