Aun*_*yae 2 sql-injection asp-classic
我有一个使用经典ASP技术的维护网站.现在,我的客户正在询问该网站是否受到SQL注入的保护.
我尝试过用于SQL注入的Microsoft源代码分析器,测试后我没有收到任何警告.
有没有其他方法来检查/验证这些经典ASP源代码是否受到SQL注入攻击的保护?
请指教!谢谢
没有一种方法可以知道.您可以发布一些代码并查看它的外观.
关键是你不要使用来自外部的污染数据来构建SQL语句.
如果您构建这样的语句
sql = "select * from whatever where id = " + id_parameter
Run Code Online (Sandbox Code Playgroud)
然后,您正在使用来自外部世界的数据构建SQL语句,这很危险.
您必须使用参数化查询,如下所示:
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调用进行汇总.