来自PHP,我不得不做任何事先知道asp的这个1000文件asp经典网络应用程序的一些sql清理,并且在我开始攻击它之前,我想知道任何主要的陷阱注意在编写asp classic/sql参数时编写/制作asp空白的修改。什么是一些好的快速概览资源,我应该注意什么?我需要在asp classic中针对sql注入进行参数化,在开始进行更改之前,我应该花些时间了解哪些内容?
2
A
回答
1
我会创建一个封装全部或大部分数据访问的函数。在以前的项目中,我创建了一个
GetRecordset
函数,该函数接受一条SQL语句并返回一个Recordset实例。在函数中,我打开数据库,执行查询,关闭数据库并返回记录集。这确保连接关闭。我会创建一个清理SQL语句参数的函数,甚至更好的是使用参数化查询。在我不想重写查询并因此使用串联的代码中,我使用的函数需要一个
vbVarType
参数,以便我可以验证传递的值是否为所指示的类型,并确保日期的格式为并不特定于服务器的文化。我会搜索单引号和双引号的实例。在这里你正在寻找
Select ... Where StringOrDateCol = '" & Request.QueryString("GodKnowsWhat") & ...
即使所有这一切,你不会抓住一切。例如,你不会赶上Select ...Where NumericCol = " & Request.QueryString("GodKnowsWhat")
。最终的搜索可能是在Select
,Update
,Insert
和Delete
上搜索并检查每个SQL语句以确保它使用您在上面#2中创建的函数。
3
确保您没有使用字符串连接将参数值添加到SQL查询中。了解如何使用ADO Command和Parameter对象。总是在SQL查询字符串中使用占位符,并将Parameter对象添加到您的Command中以为占位符提供值。
1
同意......通过place-holder和ex:SqlDb.Command.Parameters.Add()进行参数化查询会有很大的帮助...不仅仅依赖选择,还可以使用插入注入和也删除。
相关问题
- 1. - 需要进行哪些配置更改?
- 2. 在开始使用Node.JS之前,我需要了解哪些语言和框架?
- 3. 在.htaccess文件中需要进行哪些更改?
- 4. 使用FirebaseListAdapter需要在Gradle中进行哪些更改?
- 5. 在我的网站上嵌入pdf时需要了解哪些内容
- 6. Nginx无法打开mime.types。需要进行哪些更改?
- 7. 应该对这个JDialog代码片段进行哪些改进?
- 8. SVN在进行iPhone开发时应该忽略哪些文件?
- 9. 版本6.1和6.2之间对IBM Worklight JSONStore API进行了哪些更改?
- 10. 为了让我的character_count正常工作,我需要对HTML和JavaScript代码进行哪些更改?
- 11. CLR对动态进行了哪些更改?
- 12. 在对持久对象进行任何更改之前,我们是否需要开始事务?
- 13. 我应该在散列之前对数据进行编码吗?
- 14. 我需要在我的文档中涵盖哪些内容?
- 15. Struts - 需要进行哪些更改才能添加新的JSP?
- 16. 我们需要在Android 6.0运行时需要哪些权限
- 17. 部署网站之前需要做哪些改进?
- 18. 我必须对我的代码进行哪些更改才能对负数进行排序?
- 19. 在使用jquery验证时,我应该对这个特定的css进行哪些更改?
- 20. 在学习LINQ to XML之前我应该了解哪些XML相关技术?
- 21. 我需要哪些脚本进行MVC3验证?
- 22. Firebug:跟踪哪些脚本或代码行进行了更改
- 23. 我需要一些WPF开源应用程序来改进和改进
- 24. 更新http到https时需要更改Paypal的哪些内容?
- 25. 应该对SQL Server的锁定体系结构进行哪些更改以使开发更友好?
- 26. 需要在SharePoint 2010中更改哪些MasterPage/CSS以进行自定义设计?
- 27. 哪些对象应该进入一个依赖容器
- 28. 我的应用程序需要时间进行初始启动
- 29. 需要对下面的代码进行一些更改
- 30. 开始Android开发之前我应该学习哪些设计模式
http://stackoverflow.com/questions/2113262/sql-injection-on-classic-asp-pages-with-parameterized-queries-text-fields可能的重复 – 2010-04-27 21:12:13