简介

  SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。

  根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面:

  1. 不当的类型处理;

  2. 不安全的数据库配置;

  3. 不合理的查询集处理;

  4. 不当的错误处理;

  5. 转义字符处理不合适;

  6. 多个提交处理不当。

情景分析

  园子里关于sql注入的文章很多,这里我就不重复写了,找了一篇写得不错的文章,这里直接提供个传送门:浅谈SQL注入风险 - 一个Login拿下Server

  

防止SQL注入

  1. 永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。

  2. 永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。(不要拼sql,使用参数化)

  3. 永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。(给程序分配合理的数据库操作权限)

  4. 不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。(敏感信息加密)

  5. 应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。

相关文章:

  • 跨站脚本攻击(XSS)

  • 跨站请求伪造(CSRF/XSRF)

  • 开放重定向(Open Redirection)

  • 过多提交(Over Posting)

  • [译]构建现代Web应用的安全指南

原文地址:http://www.cnblogs.com/Erik_Xu/p/5514879.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

SQL注入(SQL Injection)相关推荐

  1. SQL注入(Injection)简介

    SQL注入(Injection)简介 SQL注入(SQL injection),是发生于应用程序与数据库层的安全漏洞.只要是支持处理SQL指令的数据库服务器,都有可能受到此种手法的攻击. SQL注入产 ...

  2. SQL注入——SQL注入漏洞利用(零)(值得收藏)

    一.什么是SQL注入漏洞 攻击者利用Web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系 统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后 台数据库 ...

  3. SQL注入-SQL注入的WAF绕过(十六)

    实验目的 普及熟悉利用重写等方式绕过WAF关键字过滤.以实现SQL注入的方法.PS:面试时不要说打WAF靶场什么东西,就说重复大小写编码什么之类的 基本概念 WAF(WebApplicationFir ...

  4. SQL注入/SQL攻击

    SQL注入/SQL攻击 SQL攻击/SQL注入:SQL中出现了特殊符号,改变了意思,因为传输器不好,会产生SQL攻击. 原因是:用户输入特殊符号,非法字符,# 在sql中#是h注释的意思 还有就是st ...

  5. linux json 写sql注入,sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery))

    sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery)) 0x1 网上搜下没有关于ajax的sql注入文章,这里简单写一下抛砖引玉. 原理自己百度,这里简单说下: 通过 ...

  6. DVWA通关--SQL注入(SQL Injection)

    目录 LOW 通关步骤 一.手工注入 二.sqlmap注入 代码分析 MEDIUM 通关步骤 方法一.手工注入 方法二.sqlmap注入 代码分析 HIGH 通关步骤 方法一.手工注入 方法二.sql ...

  7. DVWA(7)SQL注入(SQL Injection) LOW-HIGHT 操作记录

    今天带来第七期SQL注入操作记录.初次接触DVWA,写下自己的操作记录,希望可以帮助每个刚接触DVWA的新手,同时希望可以提升自己的技术.注:如有操作不当的地方希望可以得到大神指导.交流.也感谢之前查 ...

  8. 如何防范SQL注入 SQL注入测试

    从测试来进行测试SQL注入. 首先,看看SQL注入攻击能分为以下三种类型: Inband: 数据经由SQL代码注入的通道取出,这是最直接的一种攻击,通过SQL注入获取的信息直接反映到应用程序的Web页 ...

  9. SQL注入(SQL注入(SQLi)攻击)攻击-注入点

    SQL注入被称为漏洞之王 , 是最常用的漏洞之一 , 其中PHP在这方面的贡献最大 SQL注入原理 用户在参数中插入恶意的SQL语句 , 破坏原有的SQL语法结构 , 从而执行攻击者的操作 SQL注入 ...

最新文章

  1. JavaScript武力值飙升!用TensorFlow.js轻松实现在浏览器里搞深度学习......
  2. ASP.NET的include的用法
  3. python下载教程1001python下载教程-请教vs2017下怎么使用python
  4. 新手理解的JS原型链
  5. Javascript小括号“()”的多义性
  6. Java的知识点9——this关键字
  7. 契税申报期限_税局正式公告!财产和行为税合并纳税申报!附税种申报要点
  8. 小白零基础学习Java开发入门教程奉上,希望对你有所帮助!
  9. Python测试开发django1.简介
  10. Kernel Crash kdump 使用指南
  11. mysql choose when_mybitis下choose..when. otherwise条件不起作用
  12. MapXtreme 2005 学习心得 将wor格式转wms格式(十)
  13. Linux 查看分区大小
  14. 计算机专业四次评估,教育部第四次学科评估:信息与通信工程一级学科排行,仅供参考...
  15. Unity摄像机上下旋转镜头实现
  16. 关于Win8引导菜单风格切换
  17. 正向代理和反向代理(概念特点区别)
  18. R语言如何做配对t检验?
  19. 2012年华为杯校园编程大赛决赛 类别:软件C/C++语言
  20. kotlin data class 遇到的坑

热门文章

  1. 解决ubuntu下eclipse 经常崩溃的问题
  2. Spring与SpringMVC集成出现的问题
  3. C语言数据结构----递归的应用(斐波拉契数列、汉诺塔、strlen的递归算法)
  4. 论发展的十大关系。总结过去,正视未来!!!
  5. 字节前端终于开源!吹爆!
  6. 如何禁用 ASP.NET 网站的所有的 浏览器缓存 ?
  7. 在 .NET 应用中使用 ANTLR
  8. [Stardust]星尘配置中心
  9. C# 9 新特性 —— 补充篇
  10. 阿星Plus:基于abp vNext开源一个博客网站