什么是SQL注入

有些朋友刚刚接触SQL编程,对SQL注入表示不太了解。现在在这里介绍一下什么是SQL注入和怎么预防。

操作方法

  • 01

    首先介绍什么是SQL注入。SQL注入是指在编程中SQL语句中参数可以通过客户端传递到数据库中执行,由于对传递内容过滤不严谨,导致SQL执行出现非预期结果。现在举例说明SQL注入。

  • 02

    我们现在要做一个用户登录框。可以输入用户名和密码,如果用户名和密码正确就可以成功登录,否则登录失败。界面如下:

  • 03

    在验证用户名和密码中可能会出现如下语句。

  • 04

    语句中用户名和密码会客户端传入参数。如果正常输入,那么用户名和密码正确,就会提示【真不错,恭喜你又过了一关!】。

  • 05

    问题出现了。此段代码中对用户输入没有进行任何的过滤和字符转换。那如果我们用户名和密码都传入 【' or '' = '】(不包含中括号,相信我,此用户名密码绝对不是保存的正确用户名和密码),会出现什么样的结果呢?

  • 06

    结果就是一样会提示恭喜又过了一关。为什么会这样呢?那么现在我们来分析一下。在后台程序,我们用SQL 【select * from 2user where yhm='"& a &"' and mima='"& b &"'】 验证用户名和密码。其中a和b为用户填写的用户名和密码,不明白的可以参看第二张图片整个后台验证代码。

  • 07

    如果我们输入的用户名和密码都为【guosange】,那么组合后SQL结果是【select * from 2user where yhm='guosange' and mima='guosange'】。 但是如果我们用户名和密码输入为【' or '' = '】,那么组合后SQL结果为 【select * from 2user where yhm='' or '' = '' and mima='' or '' = ''】。这个SQL其中有【or '' = '' 】,这个判断导致整条SQL语句的Where条件永远为True,导致可以查出表【2user】的所有记录。从而登录成功。 喜欢尝试的朋友也可以试试在用户名输入【' or '' --】,密码随意输入也可以达到效果。

  • 08

    这就是SQL注入。通过输入一些特殊字符,改变了你SQL语句本来的目的,达到额外的效果。那么我们应该怎么预防呢?其实很简单,只要我们禁止用户输入一些特殊字符,或者后台对这些特殊字符进行转换,或者SQL语句都写为存储过程,这样就可以避免被SQL注入攻击了

(0)

相关推荐

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

    首先,MYIIS-VIF为站长提供了2种方式的注入设置。 1. 全局自动SQL注入拦截。 2. 自己加入规则的拦截方式。 全局自动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注入

    通过注入能够拿到管理账户密码,然后登录后台查看会议密码,通过会议密码能够进入到远程会议中,恶意攻击者能够窃取某些敏感信息. http://211.151.49.196:18080/V2Conf/jsp ...

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

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

  • 防止sql注入的几种方法

    在我们的项目开发中,常常面临的问题就是sql的注入,脚本攻击,如何才能使系统的代码更加的健壮,防止sql的注入呢,本文将介绍几种方法来防止sql的注入. 操作方法 01 JBDC方式查询,我们可以利用 ...

  • 什么是sql注入漏洞?

    介绍一下什么是sql注入漏洞? 操作方法 01 解释起来有点困难,我们直接用实际案例演示吧. 首先,我们用Sql server 创建一个geek的数据库. 再创建一个"表_登录" ...

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

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