我怎样才能知道/检查我的经典ASP网站是否受到SQL注入的保护?

Aun*_*yae 2 sql-injection asp-classic

我有一个使用经典ASP技术的维护网站.现在,我的客户正在询问该网站是否受到SQL注入的保护.

我尝试过用于SQL注入的Microsoft源代码分析器,测试后我没有收到任何警告.

有没有其他方法来检查/验证这些经典ASP源代码是否受到SQL注入攻击的保护?

请指教!谢谢

And*_*ter 5

没有一种方法可以知道.您可以发布一些代码并查看它的外观.

关键是你不要使用来自外部的污染数据来构建SQL语句.

如果您构建这样的语句

sql = "select * from whatever where id = " + id_parameter
Run Code Online (Sandbox Code Playgroud)

然后,您正在使用来自外部世界的数据构建S​​QL语句,这很危险.

您必须使用参数化查询,如下所示:

objCmd.CommandType = adCmdText;
objCmd.CommandText = "UPDATE members SET photo = ? WHERE memberID = ?";
objCmd.Parameters.Append(
    objCmd.CreateParameter("filename", adVarChar, adParamInput, 510, fileName));
objCmd.Parameters.Append(
    objCmd.CreateParameter("memberID", adInteger, adParamInput, 4, memberid ));
objCmd.Execute(adExecuteNoRecords);
Run Code Online (Sandbox Code Playgroud)

请注意,objCmd.CommandText不使用来自外部的任何数据.外部数据通过CreateParameter调用进行汇总.