领测软件测试网
* Microsoft安全部门(The Microsoft Security Development Lifecycle,SDL)对SQL注入的防御进行了一些指导。简单来说有三种策略来应对SQL注入攻击:
3jgp+]m6v8{
软件测试技术门户g?PG$|&[;@~ 1. 使用SQL参数查询
IL
K8v9rx
软件测试技术门户8t1]a&c:x~? 2. 使用存储过程软件测试技术门户)L8L_ bm#_Dt^
v!r
u^X"I'_5A
q4ds 3. 使用SQL仅执行(execute-only)许可
%Y(Z;G*q4eo c
u"M]8f:e#yGg 同时,编写安全的代码(第二版)也指导了如何防御此类攻击。
f'MKH7rc+J
el&fE
Z:@/e
G\H p * 减轻SQL注入:使用参数查询(第一部分和第二部分)。使用参数化查询的好处是它将执行的代码(例如SELECT语句)和数据(由程序使用者提供的动态信息)分开。该途径防御了通过用户传递来执行的恶意语句。
X:bE7aD,X]*E0|q
@3Y7qY~ 在经典ASP代码中过滤SQL注入(或者黑名单中的字符),我们将如下的工作认为是实际中临时性的解决方案,因为它治标不治本。(例如,代码仍然是有漏洞的,他仍然可能被绕过过滤机制而被访问到)
"OW1dR,X)W