Ataques mediante SQL injection
Una de las partes más vulnerables en una página web es la información contenida en la base de datos, y por lo tanto es una de las partes a las que hemos de prestar más atención.
Para interactuar con la base de datos utilizamos una serie de queries que nos permiten insertar, consultar o borrar datos, y que por lo tanto debemos saber en todo momento qué está haciendo cara una de las queries. El problema viene cuando estas queries se construien a través de valores obtenidos de formularios.
SELECT * FROM `tabla` WHERE `user` = '$_POST[usuario]' && `pass` = '$_POST[pass]'
Si los valores introducidos en los campos del formulario son:
Login: user
Password: ‘|| 1 = ‘1
la query quedará de la siguiente forma:
SELECT * FROM `tabla` WHERE `user` = 'user' && `pass` = '' || 1 = '1'
Function secureSQL( strVar )
dim banned, final, i
banned = array("select", "drop", ";", "--", "insert","delete", "xp_")
for i = 0 to uBound(banned)
strVar = replace(strVar, banned(i), "")
next
final = replace(strVar, "'", "''")
secureSQL = final
End Function
?>
Una función que también nos será de gran utilidad para evitar éste tipo de ataques es la función addslashes.
Autor: Issel Guberna
Si el enlace no funciona haz click aquí