SQL注入原理

作者: Enomothem | 来源:发表于2018-11-23 16:07 被阅读47次

SQL注入漏洞(SQL injection)

是Web层面最高危的漏洞之一。

在2005年前后,SQL漏洞随处可见,用户在搜索时,输入一个单引号就可以检测出这种漏洞。

2008年-2010年期间,SQL注入漏洞连续3年在OWASP年度十大漏洞排行中排名第一。

SQL注入形成的原因就是:用户输入的数据被SQL解释器执行。

在一个表单中:

账号:                    密码:             

输入用户名“ `or 1=1-- ” ,密码随意,也可不填,点击登入,发现可以正常登入,这是为什么呢?

select count(*) from admin where username='admin' and password='password'

在数据库中,存在admin用户,并且密码为password,所以此时返回结果为“1”。显然,1大于0,所以通过验证,用户可以成功登陆。

select count(*) from admin where username='' or 1=1--' and password=''

终于找到问题的根源了,SQL语句的本义是:

username=‘账户’  and  password=‘密码’

而现在变为:

username=‘账户’ or 1=1--’ and password=‘’

此时的password被注释!,而username=‘账户’ or 1=1  这句话永远为真,最终执行相对于:

select count(*)from admin          //查询admin表所有数据条数

很显然,条数大于1,验证通过,这就是一次简单的SQL注入,虽然简单,但是危害很大。可以对专门的靶场进行试验。

利用以下语句可以直接把admin表直接删除,危害极大,请勿随意对网站进行测试,仅供学习交流

`or 1=1; drop table admin --

PS1:在SQL注入前,要判断该数据库类型。

仅供学习交流,谨记国家网络安全法。

相关文章

  • BUUCTF-Web-随便注(三种解题思路)

    知识点:SQL注入-堆叠注入,sql预处理语句,巧用contact()函数绕过 堆叠注入原理: 在SQL中,分号(...

  • 2020-07-29

    安全渗透测试-sql注入 总目标: 1、sql注入介绍 2、web安全渗透测试分类 3、sql注入原理 4、sql...

  • SQL注入漏洞解析

    注*本篇内容大部分参考SQL注入基本原理的学习SQL注入原理:攻击者通过把SQL命令插入到Web表单提交或者输入域...

  • web安全编程(php)

    一.sql注入 漏洞原理:1.使用用户的参数拼接sql语句2.参数改变了原有sql语句的结构注入方式: 回显注入 ...

  • SQL注入

    SQL注入 概念 危害 原理 实例 防御 基础 - ### SQL语句所用符号不同数据库的sql注入与提权常见S...

  • 一步一步学习 Web 安全 2.2 SQL 注入步骤

    上节了解了 SQL 注入的原理,但是我们进行 SQL 注入的时候肯定不是输入查询语句就能得到数据这么简单。 注入步...

  • Mybatis框架下SQL注入漏洞书目录

    Mybatis框架下SQL注入漏洞 SQL注入漏洞基本原理 Mybatis框架介绍 Mybatis框架下易产生SQ...

  • Web安全之SQL注入漏洞[1]

    Web安全之SQL注入漏洞 本节知识点 SQL注入原理 前言 结构化查询语句(Structured Query L...

  • sql注入原理

    information——schema库(MySQL>=5.0才有) select 字段,字段 from 数据库....

  • SQL 注入原理

    原文地址:http://www.cnblogs.com/rush/archive/2011/12/31/23092...

网友评论

    本文标题:SQL注入原理

    本文链接:https://www.haomeiwen.com/subject/mapjqqtx.html