SQL Server上的SQL注入攻击是什么?我们怎样才能防止呢?什么是对SQL Server的SQL注入攻击?我们如何防止它们?
回答
SQL注入是代码注入技术,用来攻击数据驱动的应用程序,其中恶意的SQL语句被插入到一个输入字段以供执行(例如转储数据库内容给攻击者)。
http://en.wikipedia.org/wiki/SQL_injection
如何:防止SQL注入在ASP.NET
https://msdn.microsoft.com/en-us/library/ff648339.aspx
https://msdn.microsoft.com/en-us/magazine/cc163917.aspx
下面是一些提示:
永远不要相信用户的输入。
始终使用参数化存储过程。
总是对用户输入进行编码/解码。
请勿写入内嵌查询。
- 在客户端和 服务器侧
https://msdn.microsoft.com/en-us/library/hh882339%28v=vs.110%29.aspx
请将报价格式化为报价,因此很明显,内容是从列出的来源中提取的。 – Tanner 2015-03-03 09:53:02
在简单的语言的特殊字符(<,>)始终验证用户输入,SQLI或SQL注入攻击是攻击这使得应用程序将数据视为命令。例如,假设您有使用下面的SQL语句的认证系统:
SELECT *
FROM userlist
WHERE name ='" + username + "';
现在,假设攻击者进入下面的用户名:
username = ' OR '1'='1
这将创建一个查询,这将是这样的:
SELECT *
FROM userlist
WHERE username=' ' OR '1'='1';
因此,由于OR条件始终评估为true,所以绕过验证作为查询的结果将始终返回有效的响应。 这是一个基本的SQLi攻击。您可以将多个查询组合,如:
DROP TABLE userlist;
和追加它原来的查询以下列方式:
SELECT *
FROM userlist
WHERE username=' ' OR '1'='1';DROP TABLE userlist;
它将从数据库中删除名为“用户列表”表。
希望有帮助。
- 1. 什么是“参数”,它们如何防止SQL注入?
- 2. 防止SQL注入和XSS攻击
- 3. 尝试执行SQL注入攻击 - 他们在做什么?
- 4. 防止MDX注入攻击
- 5. 防止SQL注入攻击:mySql和SQL Server 2008之间的区别
- 6. 如何防止AspNetUsers表SQL注入攻击?
- 7. 如何防止URL盲sql注入攻击
- 8. 使用存储过程是否防止SQL注入/ XSXX攻击?
- 9. SQL注入攻击
- 10. SQL注入攻击
- 11. 如何防止从UI中传入SQL查询时发生SQL注入攻击
- 12. Spring JDBC是否提供对SQL注入攻击的防护?
- 13. 如何防止二阶SQL攻击?
- 14. 什么是NV32ts和它的SQL注入攻击试图做什么?
- 15. React Native的Realm是否可以防止注入攻击?我已经用于SQL
- 16. 如何清理SQL Server中的动态SQL - 防止SQL注入
- 17. str_replace的这种用法足以防止SQL注入攻击吗?
- 18. SQL Server 2008表值是否容易受到SQL注入攻击?
- 19. 如何SQL注入工作,我怎么防止它
- 20. 如何防止SQL注入?
- 21. 准备语句会防止SQL注入攻击吗?
- 22. pgdb防止注入攻击吗?
- 23. 防止命令行注入攻击
- 24. SQL注入攻击和django
- 25. Erlang和SQL注入攻击
- 26. LINQ-To-SQL如何防止SQL注入?
- 27. SQL防止SQL注入
- 28. 防止SQL注入
- 29. 本机SQL查询 - SQL注入攻击
- 30. Linq到sql和sql注入攻击
最好的主意就是谷歌它。 – 2015-03-03 09:51:55