什么是sql注入漏洞?

介绍一下什么是sql注入漏洞?

操作方法

  • 01

    解释起来有点困难,我们直接用实际案例演示吧. 首先,我们用Sql server 创建一个geek的数据库. 再创建一个"表_登录" 以及字段和数据.

  • 02

    创建一个C#语言Windows窗体程序.

  • 03

    创建一个和我图片差不多的界面. 其中最大的文本框里面放的我们当前执行的sql语句. 以便大家更明白什么是SQL注入.

  • 04

    //以下代码是点击按钮登录之后执行的代码 string 连接字符串 = @"server=.;database=geek;Integrated Security=true"; string sql = "select count(*) from 表_登录 where 用户名='" + textBox_用户名.Text + "' And 密码='" + textBox_密码.Text + "';"; int count; using (SqlConnection 连接对象 = new SqlConnection(连接字符串)) { using (SqlCommand 执行对象 = new SqlCommand(sql, 连接对象)) { 连接对象.Open(); count = (int)执行对象.ExecuteScalar(); } } textBox_sql.Text = sql; if (count > 0) { MessageBox.Show("登录成功"); } else { MessageBox.Show("用户名或密码错误"); }

  • 05

    我们先输入错误的账号密码,看一下代码执行结果是登录失败.

  • 06

    我们再输入一下正确的帐号和密码是可以登录成功的.

  • 07

    select count(*) from 表_登录 where 用户名='sql注入漏洞' And 密码='1' or '1'='1'; 关键的地方来了,我们这次再输入一个错误的账号和密码,但是软件却可以显示登录成功.大家仔细观察sql语句,就不难发现,这是为什么会出现这样的结果了. sql语句漏洞是非常危险的.  管理员账号泄露,数据库被恶意删除,重要商业资料泄露等.

  • 08

    这就是由于用户刻意输入,使字符串拼接的sql语句有了新的意义,和原来的sql语句意义完全不一样了. 密码应该是sql的值,但却成为了sql语句的条件. 我们要杜绝这种情况,就是要让客户输入的变成值,从而避免发生这种问题!

  • 09

    sql注入漏洞攻击总结一下:在你输入数据的时候,不违背你的语法,给你创造出一些新的条件,让你完成另外一些事情.

  • 10

    那么我们如何规避这种情况呢? 在以前传统的做法是检测用户的输入,过滤替换掉一些敏感的字符,比如单引号,括号. 但是这也不能绝对防范. 在我们C#中,微软为我们设计了一个SqlParameter类库 否则使用数据库的存储过程都可以完美过滤掉. 下一篇经验分享,我们来介绍SqlParameter类库的使用.

(0)

相关推荐

  • 简单分析什么是SQL注入漏洞

    现在很多人在入侵的过程中基本都是通过SQL注入来完成的,但是有多少人知道为什么会有这样的注入漏洞呢?有的会随口说着对于字符的过滤不严造成的.但是事实是这样吗?我们学这些,不仅要知其然,更要知其所以然! ...

  • 预防查询语句数据库注入漏洞攻击

    简单地说,Sql注入就是将Sql代码传递到应用程序的过程,但不是按照应用程序开发人员预定或期望的方式插入,相当大一部分程序员在编写代码的时候,并没有对用户输入数据的合法性进行判断,使应用程序存在安全隐 ...

  • 漏洞扫描之SQL注入扫描测试

    对于开发人员而言,最痛苦的是性能优化和漏洞扫描.因为这两块,都涉及到专业性很强的知识,并且,很少有人可以掌握.不是大家学习能力不行,而是在平时的接触中,根本没有或很少机会,可以接触并了解. 因此,直接 ...

  • SQL 注入技术详解

    1.1概述 1.2背景 1.3字符编码 2.1综合测试 2.2测试过程 2.3分析结果 3.1绕过验证 3.2 SELECT 3.2.1 直接利用 ' 号 3.2.2 基于UNION 3.2.3 利用 ...

  • 如何检测SQL注入技术以及跨站脚本攻击

    在最近两年中,安全专家应该对网络应用层的攻击更加重视.因为无论你有多强壮的防火墙规则设置或者非常勤于补漏的修补机制,如果你的网络应用程序开发者没有遵循安全代码进行开发,攻击者将通过80端口进入你的系统 ...

  • 网站被sql注入的修复方法

    近日,网站频频被黑.在网站里莫名其妙的多出一篇文 章,还有多出一组贴图.正在纳闷是谁可以登陆我的后台发表文章和图片的时候,我的qq弹出消息,一个陌生人给我发消息,说我的网站有漏洞,还说是他弄了我 的网 ...

  • 对预防SQL注入的几点方法

    本文分析了网站数据库预防SQL注入的方法,并结合nat123分享了外网访问内网数据库的方法. 操作方法 01 预防数字注入: 很简单,因为ColID字段的类型是int的,那么我们只需要验证一下传递过来 ...

  • SQL注入攻击的方法有哪些

    据权威专家同居分析,绝大多数的网站遭受攻击都是SQl注入攻击,绝大多数的网站攻击都是可以避免的,不过由于大多数人的疏忽,造成好多网站都莫名其妙的"悲剧"了,这里小编帮大家洗漱一下s ...

  • 防护黑客必学招数 SQL注入拦截-MYIIS-VIF助你一臂之力

    首先,MYIIS-VIF为站长提供了2种方式的注入设置。 1. 全局自动SQL注入拦截。 2. 自己加入规则的拦截方式。 全局自动SQl注入拦截类似自己给用户添加了一些常用的SQL注入关键字拦截。这些 ...