* Microsoft安全部门(The Microsoft Security Development LifecycleSDL)对SQL注入的防御进行了一些指导简单来说有三种策略来应对SQL注入攻击
使用SQL参数查询
使用存储过程
使用SQL仅执行(executeonly)许可
同时编写安全的代码(第二版)也指导了如何防御此类攻击
* 减轻SQL注入使用参数查询(第一部分和第二部分)使用参数化查询的好处是它将执行的代码(例如SELECT语句)和数据(由程序使用者提供的动态信息)分开该途径防御了通过用户传递来执行的恶意语句
在经典ASP代码中过滤SQL注入(或者黑名单中的字符)我们将如下的工作认为是实际中临时性的解决方案因为它治标不治本(例如代码仍然是有漏洞的他仍然可能被绕过过滤机制而被访问到)
如果你仍然不了解从哪里开始所有使用特定ASP代码访问数据库尤其是使用由用户提供的数据的代码应当首先被检测
[] []