SQL注入(SQL Injection)
简介
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)相关推荐
- SQL注入(Injection)简介
SQL注入(Injection)简介 SQL注入(SQL injection),是发生于应用程序与数据库层的安全漏洞.只要是支持处理SQL指令的数据库服务器,都有可能受到此种手法的攻击. SQL注入产 ...
- SQL注入——SQL注入漏洞利用(零)(值得收藏)
一.什么是SQL注入漏洞 攻击者利用Web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系 统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后 台数据库 ...
- SQL注入-SQL注入的WAF绕过(十六)
实验目的 普及熟悉利用重写等方式绕过WAF关键字过滤.以实现SQL注入的方法.PS:面试时不要说打WAF靶场什么东西,就说重复大小写编码什么之类的 基本概念 WAF(WebApplicationFir ...
- SQL注入/SQL攻击
SQL注入/SQL攻击 SQL攻击/SQL注入:SQL中出现了特殊符号,改变了意思,因为传输器不好,会产生SQL攻击. 原因是:用户输入特殊符号,非法字符,# 在sql中#是h注释的意思 还有就是st ...
- linux json 写sql注入,sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery))
sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery)) 0x1 网上搜下没有关于ajax的sql注入文章,这里简单写一下抛砖引玉. 原理自己百度,这里简单说下: 通过 ...
- DVWA通关--SQL注入(SQL Injection)
目录 LOW 通关步骤 一.手工注入 二.sqlmap注入 代码分析 MEDIUM 通关步骤 方法一.手工注入 方法二.sqlmap注入 代码分析 HIGH 通关步骤 方法一.手工注入 方法二.sql ...
- DVWA(7)SQL注入(SQL Injection) LOW-HIGHT 操作记录
今天带来第七期SQL注入操作记录.初次接触DVWA,写下自己的操作记录,希望可以帮助每个刚接触DVWA的新手,同时希望可以提升自己的技术.注:如有操作不当的地方希望可以得到大神指导.交流.也感谢之前查 ...
- 如何防范SQL注入 SQL注入测试
从测试来进行测试SQL注入. 首先,看看SQL注入攻击能分为以下三种类型: Inband: 数据经由SQL代码注入的通道取出,这是最直接的一种攻击,通过SQL注入获取的信息直接反映到应用程序的Web页 ...
- SQL注入(SQL注入(SQLi)攻击)攻击-注入点
SQL注入被称为漏洞之王 , 是最常用的漏洞之一 , 其中PHP在这方面的贡献最大 SQL注入原理 用户在参数中插入恶意的SQL语句 , 破坏原有的SQL语法结构 , 从而执行攻击者的操作 SQL注入 ...
最新文章
- JavaScript武力值飙升!用TensorFlow.js轻松实现在浏览器里搞深度学习......
- ASP.NET的include的用法
- python下载教程1001python下载教程-请教vs2017下怎么使用python
- 新手理解的JS原型链
- Javascript小括号“()”的多义性
- Java的知识点9——this关键字
- 契税申报期限_税局正式公告!财产和行为税合并纳税申报!附税种申报要点
- 小白零基础学习Java开发入门教程奉上,希望对你有所帮助!
- Python测试开发django1.简介
- Kernel Crash kdump 使用指南
- mysql choose when_mybitis下choose..when. otherwise条件不起作用
- MapXtreme 2005 学习心得 将wor格式转wms格式(十)
- Linux 查看分区大小
- 计算机专业四次评估,教育部第四次学科评估:信息与通信工程一级学科排行,仅供参考...
- Unity摄像机上下旋转镜头实现
- 关于Win8引导菜单风格切换
- 正向代理和反向代理(概念特点区别)
- R语言如何做配对t检验?
- 2012年华为杯校园编程大赛决赛 类别:软件C/C++语言
- kotlin data class 遇到的坑