美文网首页
SQL注入原理

SQL注入原理

作者: 这是什么娃哈哈 | 来源:发表于2019-12-03 23:35 被阅读0次

一、SQL注入的概述

定义:SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

通俗易懂:由于业务系统在处理用户请求时,没有对用户的输入做安全检查和过滤,导致攻击者向服务器提交恶意的SQL语句, 可导致数据库中的敏感数据被攻击者获取、脱裤等。

二、分类
1、常见的sql注入按照参数类型可分为两种:数字型和字符型。

当发生注入点的参数为整数时,比如 ID,num,page等,这种形式的就属于数字型注入漏洞。同样,当注入点是字符串时,则称为字符型注入,字符型注入需要引号来闭合。

2、也可以根据数据库返回的结果,分为回显注入、报错注入、盲注。
回显注入:可以直接在存在注入点的当前页面中获取返回结果。

报错注入:程序将数据库的返回错误信息直接显示在页面中,虽然没有返回数据库的查询结果,但是可以构造一些报错语句从错误信息中获取想要的结果。

盲注:程序后端屏蔽了数据库的错误信息,没有直接显示结果也没有报错信息,只能通过数据库的逻辑和延时函数来判断注入的结果。根据表现形式的不同,盲注又分为based boolean和based time两种类型。

3、按照注入位置及方式不同分为:post注入,get注入,cookie注入,盲注,延时注入,搜索注入,base64注入,无论此种分类如何多,都可以归纳为以上两种形式。

三、出现位置
任何与数据库交互的位置

四、修复建议

1、建议直接使用预编译的方式组装SQL;
2、参数字符串拼接,需要删字符串中的中的单引号,然后两边加上单引号;
3、数字拼接,需要先 parseInt 后再转为字符串;
4、动态表名,需要删表名中的反引号,两边加上反引号;

相关文章

  • 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/sqxkgctx.html